使用JMeter进行http压力测试

 

一、背景及文档目的说明

            采用JMeter测试工具对腾讯视频做负载测试,使用 JMeter图形结果和聚合图帮助测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力并估计系统瓶颈和并发阀值,以期得出的科学合理的测试结果。

二、测试工具

测试环境

Windows10

测试工具

搜狗浏览器、JMeter、JDK

 

三、测试步骤

            本http性能测试主要为对腾讯视频做视频搜索测试,打开JMeter录制搜索脚本后如下图所示。

403 报错为Web服务器作为网关或代理服务器时收到无效的响应。我将其作为无效报错将之删去后进行分别并发100次、300次、500次的比较。以期获得有价值的比较结果。

在进行500以上的并发中得到了服务器502报错,意为服务器运行不正常,可见服务器对于一秒200进程的高并发操作出现了异常

 

四、聚合报告

下图为100进程图形结果

下图为300进程图形结果

下图为600进程图形结果

 

五、聚合图结果对比

根据聚合报告可见,随着样本数以100为单位线性增加时,平均每线程处理时间和处理时间偏离值在线程数为500时明显上升,在500线程时已萎缩,可见此时服务器已处于非常阻塞的状态,通过以上统计,可见秒级并发阈值在500线程左右,可见服务器的稳定性和并发容量已岌岌可危,而吞吐量在300线程时为峰值

 

图表含义说明如下:
Label:说明是请求类型,如Http,FTP等请求。
#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
90%line:是指90%请求的响应时间比所得数值还要小。
Min:是代表时间的数字,是服务器响应的最短时间。
Max: 是代表时间的数字,是服务器响应的最长时间。
Error%:请求的错误百分比。
Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。
KB/sec:是每秒钟请求的字节数。

            除去图形结果已对比度指标,我们选取了Min、Max、Error%和KB/sec进行对比,可见600并发进程的明显处理效果落后,最大、最小响应时间、响应错误率、每秒种请求的字节数明显上升,系统承载力、资源使用率、并发容量明显不济,与图形结果所得出的结果基本一致,验证了500进程数为系统秒级阀值的结论具有一定可靠性和科学性。

 

 

六、总结

最后,经过使用JMeter对腾讯视频的搜索功能进行http压力测试,可得腾讯视频的系统瓶颈及最大使用极限在每秒并发500进程左右,在同类站点中表现尚可。

posted @ 2019-06-03 10:29  Aurelio  阅读(666)  评论(0编辑  收藏  举报