结果树
取样器结果:返回值报200,表示执行接口调试成功
请求:发送的数据
响应数据:返回的数据
Thread Name:线程组名称
Sample Start: 启动开始时间
Load time:加载时长
Latency:等待时长
Size in bytes:发送的数据总大小
Headers size in bytes:发送数据的其余部分大小
Sample Count:发送统计
Error Count:交互错误统计
Response code:返回码
Response message:返回信息
Response headers:返回的头部信息
聚合报告
Label:HTTP Request name属性值。
Samples:测试的过程中一共发出了多少个请求即总线程数,(如果模拟10个用户,每个用户迭代10次,这里就显示100),对应图形报表中的样本数目。
Average:单个Request的平均响应时间,计算方法是总运行时间除以发送到服务器的总请求数,对应图形报表中的平均值。
Median:50%用户的响应时间。
90%Line:90%用户的响应时间。
Min:服务器响应的最短时间。
Max:服务器响应的最长时间。
Error%:本次测试中出错率,请求的数量/请求的总数。
Throughput:吞吐量,默认情况下表示每秒完成的请求数。
KB/Sec:每秒从服务器接收到的数据量,即每秒钟请求的字节数,时间单位均为ms。
图形结果
样本数目:总共发送到服务器的请求数。
最新样本:代表时间的数字,是服务器响应最后一个请求的时间。
吞吐量:服务器每分钟处理的请求数。
平均值:总运行时间除以发送到服务器的请求数。
中间值:有一半的服务器响应时间低于改值而另一半高于该值。
偏离:表示服务器响应时间变化、离散程度测量值的大小。
Question:
怎样计算Ramp-up period时间?
Ramp-up period是指每个请求发生的总时间间隔,单位是秒。如果Number of Threads设置为5,而Ramp-up period是10,那么每个请求之间的间隔就是10/5,也就是2秒。Ramp-up period设置为0,就是同时并发请求。
测试报告分析思路:
压测结果指标:
Samples:表示一共发出的请求数
Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)
Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因
Throughput:简称TPS,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,TPS越高说明服务器处理能力越好
二、压测结果分析:
1)Error%:确认是否允许错误的发生或者错误率允许在多大的范围内;
2)Throughput:吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;
3)压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;
4)最大的TPS:不断的增加并发数,加到TPS达到一定值开始出现下降,那么那个值就是最大的TPS。
5)最大的并发数:最大的并发数和最大的TPS是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。
6)压测过程出现性能瓶颈,若压力机任务管理器查看到的CPU、网络和CPU都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。
7)影响性能考虑点包括:数据库、应用程序、中间件(tomcat、nginx)、网络和操作系统等方面。
三、性能测试关注点
客户端响应时间是否满足要求
服务器资源使用情况是否合理
应用服务器和数据库资源使用是否合理
最大访问数,最大业务处理量是多少
系统可能存在的瓶颈在哪里
能否支持7*24小时的业务访问
架构和数据库设计是否合理
内存和现成资源是否可以被正常回收
如果系统出现不稳定情况,其可恢复性如何
一般常识
CPU、TPS存在明显波动则存在瓶颈
并发时服务日志级别需调整为error级别
通常请求由一个线程负责执行,占用一个逻辑CPU
若并发量增加而CPU使用率未增加则存在瓶颈
CPU负荷集中在应用服务器和数据库服务器上
内存负荷集中在应用服务器和数据库服务器上
(CPU是负责运算和处理的,内存是交换数据的)
磁盘负荷集中在数据库/文件服务器上
对外网络流量集中在负荷均衡器(nginx、LVS)上
比如:
针对这个接口对500,800,1000,1500个线程(即用户)进行测试,Ramp-up period(in seconds)的值设为0,即同时并发请求,循环1次。
1、根据聚合报告以及图形结果各项参数指标分析
(1)每间隔一秒钟并发的线程数越多,接口99%Line参数值先增加后减小,1500个线程时基本达到峰值;
(2)每间隔一秒钟并发的线程数越多,吞吐量先减后增,每秒钟完成的请求数减幅较大。
2、根据图形结果分析
(1)随着发送到服务器的请求数越来越多,偏离数量越来越大,服务器越来越不稳定;
(2)发送到服务器的请求数增加,吞吐量(即服务器每分钟处理的服务器的请求)先减少后增加。
总结:
一般情况下,当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间 得到响应时,会感觉系统的响应速度还可以;当用户在5-10秒以内得到响应时,会感觉系统的 响应速度很慢,但是还可以接受;而当用户在超过10秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。