第一次性能测试http_load

http_load以并行复用的方式运行,用以测试webx服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机高斯,还可以测试https类的网站请求。

http_load用法:

usage:  ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]

            -parallel N | -rate N [-jitter]

            -fetches N | -seconds N

            -cmd get(|post)

            url_file

One start specifier, either -parallel or -rate, is required.

One start specifier, either -cmd get or -cmd post, is required.

One end specifier, either -fetches or -seconds, is required.

注:

常用方式:./http_load –r 200 –s 900 http.txt 2>2.log 1>1.txt

模拟qps200,连续压测15分钟,错误日志输出到2.log文件中,最终的压测结果输出到1.txt文件中。

结果分析:

1. 10799998 fetches, 1020 max parallel, 3.17224e+10 bytes, in 43200 seconds//说明测试中运行了10799998个请求,最大的并发进程数是1020,总计传输的数据是3.17224e+10 bytes,运行的时间是432000

2. 2937.26 mean bytes/connection//说明每一连接平均传输的数据量是(3.17224e+10/10799998=2937.26

3. 250 fetches/sec, 734315 bytes/sec//说明每秒的响应请求为250,每秒传递的数据为734315 bytes

4. msecs/connect: 0.194116 mean, 30.207 max, 0.125 min//说明每链接的平均响应时间是0.194116 msecs,最大的响应时间是30.207msecs,最小的响应时间是0.125 msecs

5. msecs/first-response: 22.9355 mean, 59996.9 max, 0.07 min//说明每个请求的平均响应时间是22.9355msecs,最大的响应时间是30.207msecs,最小的响应时间是0.07msecs

6. 23088 timeouts//运行中有23088个请求超时

7. 27503 bad byte counts//同一个http请求,不一样的结果的个数。

8. HTTP response codes://说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。

  code 200 – 10772495

 

这里主要看的参数有fetches/secmsecs/first-response。要统计timeout的比例:timeouts/ fetches。这里的超时比例就是:23088/10799998=0.213%

同时还要服务器端的cpumemload。通常load/cpu个数<=1是比较好的。

 

关于超时:http_load默认的超时时间为10s,这里的超时可以自己定义,但必须是int整数,不能是浮点数。

 

关于每秒种的请求数-r,如果pd有给期望的pvuv,那么可大概算出qps,一般

qps=pv/60×60×6)一般,每天按照6个小时算。如果没有期望值和参考值,那么就要去一个个试,看r为多少时,系统的性能达到最大值,要试出一个临界值。

注:r就代表qps,即结果中的参数fetches/sec值。如果r太大时,系统可能会压挂或者不稳定,此时qpsr的差别较大,压测结果不具备参考性,要适当降低r值。

原文地址:https://www.cnblogs.com/aiwa/p/2177577.html