性能测试工具AlldayTest 的测试方法及说明
现在许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,为服务器的性能优化和调整提供数据依据。
下面介绍一种性能测试工具AlldayTest:
AlldayTest是一种集功能测试、性能测试及性能监控的自动化测试工具。AlldayTest性能测试作为一个插件存在于成熟的AlldayTest体系中,支持http协议录制,可通过模拟用户行为、形成并发负载及在线性能诊断分析的方法来确认和查找问题,能够对整个企业的架构进行测试。
测试工具及测试方法说明
生成测试脚本
通过录制用户行为,自动产生性能测试脚本和测试场景,测试脚本如下图所示:
建立场景
对录制用户行为时自动产生的基本测试场景进行包装生成工作流场景。工作流场景中增加Performance Activity,可用于性能测试压力分发,参数设定等,可以和其他Activity一起实现性能测试的业务逻辑。
在工作流场景中可设置提供了脚本运行时所需要的相关选项,如并发数、循环次数等。
性能测试结果列表
下面简要介绍通过AlldayTest性能测试可得到的性能测试指标。
l 测试结果
测试结果中主要包括线程名称、延时、加载时间、字节数、样本数目、错误数目、响应代码、响应信息、数据编码及响应信息头等信息。红色标出的为错误的线程数。
l 聚合报告
通过聚合报告可清楚的看出测试脚本中各标签的样本数、均值、响应中值、90%响应、最快响应、最慢响应、错误率、吞吐量及响应速度等指标。
l “吞吐量”显示虚拟用户每秒从服务器获得的数据量,其度量单位是byte/s。
l HTTP响应状态
“HTTP响应状态”用饼状图显示从Web服务器返回的HTTP状态代码。HTTP状态代码表示HTTP请求的状态。鼠标悬停在饼状图的某一部分可以显示该部分的代表的响应状态的数量及百分比。
例:200 指示客服端的请求已经成功收到。
l 虚拟用户数
该图反映系统形成负载过程中虚拟用户数的变化。
l 平均事务响应时间
“平均事务响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。
例:随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将会有下降的趋势。
l 每秒通过事务数
“每秒通过事务数/TPS”显示在场景运行的每一秒钟,每个事务成功和失败的数量,使考查系统性能的一个重要参数。通过它可以确定系统在任何给定时刻的时间事务负载。分析TPS主要是看曲线的性能走向。
将它与平均事务响应时间进行对比,可以分析事务数目对执行时间的影响。
l 每秒通过事务总数
“每秒通过事务总数”显示在场景运行时,在每一秒内成功的事务总数和失败的事务数。
l 事务综述
“事务综述”对事务进行综合分析是性能分析的第一步,通过分析测试时间内用户事务的成功与失败情况,可以直接判断出系统是否运行正常。
l 事务性能综述
“事务性能综述”显示方案中所有事务的最小、最大和平均执行时间,可以直接判断响应时间是否符合用户的要求。
l 事务响应时间(负载)
“事务响应时间(负载)”是“正在运行的虚拟用户”图和“平均响应事务时间”图的组合,通过它可以看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性能数据,为扩展用户系统提供参考。此图可以查看虚拟用户负载对执行时间的总体影响,对分析具有渐变负载的测试场景比较有用。
l 事务响应时间(分布)
“事务响应时间(分布)”显示在场景运行过程中,事务执行所用时间的分布,通过它可以了解测试过程中不同响应时间的事务数量。
l 事务响应时间(百分比)
“事务响应时间(百分比)”是根据测试结果进行分析而得到的综合分析图,也就是工具通过一些统计分析方法间接得到的图表。通过它可以分析在给定事务响应时间范围内能执行的事务百分比。