Web应用负载测试与分析

来源 :浙江大学 | 被引量 : 0次 | 上传用户:prince262
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Web技术的发展,越来越多的信息系统使用流行的B/S结构进行架构和开发。Web应用的开放性和流行性使得很多Web系统面临大量并发用户的使用,系统的可靠性和性能问题也随之出现。因此Web系统都必须通过负载测试来保证系统能够在高负载下满足用户的功能性和非功能性需求。在竞争日益激烈的市场环境下,Web应用需要以更加快速敏捷的方式更新发布来适应市场需求。尽管目前的负载测试工具和方法能够一定程度上解决部分Web应用的性能问题,但是其自动化程度依旧不高,无法满足敏捷模式等对时间的要求非常高的场景。本文从Web应用负载测试的负载建模开始,对Web负载测试的一些关键性技术进行了研究,提出了一系列可以显著提升Web应用负载测试效率的技术和框架。  本研究根据Web应用负载的共性特征,提出了基于上下文的顺序操作模型(CBSAM)和负载参数说明语言(WPSL)来建模Web应用负载。本文提出的CBSAM模型和负载参数描述语言就是一种易理解、易维护的Web系统负载表达方式。基于CBSAM和WPSL,我们还实现了支持可视化负载建模的负载测试工具LTF。LTF通过支持负载模型的图形化表示和编辑,不仅提升了Web负载模型的真实性和可维护性,还提升了负载测试的效率。负载测试脚本和场景生成:负载测试过程中的脚本和场景的编辑和维护需要花费大量时间。云环境中的Web服务使用标准服务定义,为测试脚本和场景的自动化生成提供了可能。提出针对云环境中Web服务的测试脚本和测试场景自动化生成方法,并研发了针对云服务的负载测试框架CLTF。CLTF以Web服务接口定义文件作为输入,基于脚本模版生成Web服务的负载测试脚本。CLTF以CBSAM作为负载模型,把自动生成的Web服务负载测试脚本组织成所需的测试场景。CLTF在脚本和场景生成两个方面的自动化,大大提高了云环境中Web服务的负载测试效率,并有效地帮助1000多个云上的Web服务进行快速地负载测试。性能问题根源和影响分析:在不断的版本迭代中,Web应用中的代码变更可能会带来性能风险。通过负载测试可以发现有性能问题的Web服务,但是在诸多代码中找到性能问题根源并分析修改可能带来的影响是一项艰难的任务。利用在负载测试过程中服务端产生的代码执行性能日志,提出一种创新的方法来分析性能问题的根源以及其影响程度。首先,服务端日志被用来逆向分析每个业务代码的运行时调用树。然后,以Web服务作为区分,将不同的调用树进行整合和统计,为每个Web服务得到一棵合并后的调用树来描述某个业务执行过程的调用树。对于调用树上的每一个方法,本文定义了一个距离指标来表示所有方法是性能问题根源的可能性。根据这个距离指标的排序结果可以帮助性能工程师快速地定位性能问题根源。另外,为了分析每个方法对其它业务的性能影响程度,本文采用了方法到业务的倒排索引来进行修改影响分析。本文提出的方法可以帮助性能工程师快速地对性能问题的根源和修改影响进行分析。
其他文献
云计算是通过运用虚拟化技术实现随时随地、按需、便捷访问共享计算资源池的计算模式。云计算平台通过虚拟机部署给虚拟机配置相应的物理计算资源,实现计算资源统一分配调度,以
随着数字图像的爆发性增长,如何有效管理和组织海量图像已成为图像处理领域中一个迫在眉睫的难题。场景分类作为图像检索、图像理解等更高层次需求的基础,在计算机视觉领域占有
该文在充分理解分布式计算和分布式对象计算技术的基础上,分析比较两种分布式对象技术CORBA和COM/DCOM,重点介绍COM/DCOM的技术原理和特点.在分析Web的体系结构基础上给出了
学位
实时洪水预报和实时洪水调度,作为一种能有效地减轻洪灾的危害程度和降低洪灾所造成的损失的非工程措施,在近几年来的防洪减灾工作中发挥着越来越重要的作用.实时洪水预报调
学位
学位
学位
学位
面对月球信息数据的多源性和异构性等特点,需要一套准确、规范并且可互操作的信息描述格式对月球信息异构数据进行存储和管理,所以在本系统引入基于G/S(General-Brower/Distribu