论文部分内容阅读
随着互联网的快速发展,用户对Web服务需求的不断增长,出现了大量不同种类、功能各异的Web应用。Web应用较传统应用具有其特殊性,并且其基于互联网和面向用户大众化的特性,决定了它不仅要具备完善的功能,还要具备良好的性能表现,性能测试对保证Web应用正常运行发挥着越来越重要的作用。 现有的Web应用性能测试方法和工具不能满足性能测试的需求:一方面,现有的Web应用性能测试方法普遍存在通用性差、真实性不高的问题;另一方面,现有的基准测试工具针对系统平台不关注Web应用的业务逻辑,不能实现有效的测试,面向Web应用的性能测试工具大多采用录制回放技术,存在自动化程度低、灵活性差、真实性差的问题。因此,有必要研究与设计Web应用性能测试方法和系统,使其在满足真实性的同时,具备通用性、较高的自动化程度和灵活性,从而满足Web应用性能测试的需求。 本文的核心工作将围绕Web应用性能测试方法的研究和设计展开,针对Web应用性能测试的需求,提出一种Web应用分布式性能测试方法;在此基础上,设计实现Web应用分布式性能测试系统,并对其功能进行有效性验证。本文的主要成果包括两方面: 1.提出Web应用分布式性能测试方法,该方法包括基于日志的Web应用流量描述方法和基于分布式框架的混合流量生成方法。基于日志的Web应用流量描述方法,利用用户行为模型和聚合流量模型共同描述流量,首先根据Web应用的业务逻辑和日志提取用户行为图模型(UBG),描述典型用户行为特征,然后利用流量类型分布和时间分布模型来描述聚合流量特征。基于分布式框架的混合流量生成方法,通过流量描述模型和分布式框架来生成符合测试场景的混合测试流量。二者结合,实现自动化的生成真实的典型用户行为混合流量,描述模型具有通用性和真实性,支持细粒度的测试场景配置。 2.设计并实现Web应用分布式性能测试系统。系统主要由用户交互、Web应用管理、测试管理、分布式管理四个模块构成。系统能够支持多种类型的Web应用的性能测试,框架设计灵活,可以支持对新Web应用测试的快速添加配置,具备通用性及扩展能力。系统的用户行为模型具有较高的可用性,能够从日志文件中提取典型用户行为特征和聚合流量特征,对流量进行完整真实的描述。利用分布式框架自动化生成真实的典型用户行为混合流量,并且测试流量有效性高、负载量级高、覆盖路径全面、具备一定随机性。系统支持对测试细粒度的配置,模拟多种测试场景,满足测试需求。