1、简介。
官网地址:点击这里。
2、安装。
wget http://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz
tar -xf http_load-09Mar2016.tar.gz
make
make install
注:安装失败少目录自己创建即可。
3、使用。
需创建一个文件,将要压测的域名或IP地址写入文件。
基本参数:
-parallel 简写-p :并发的用户进程数。
-fetches 简写-f :总计的访问次数
-rate 简写-p :每秒的访问频率
-seconds简写-s :总计的访问时间
示例:
http_load -rate 5 -seconds 2 文件名
说明:持续时间2秒的测试,每秒的频率为5。
结果:
结果分析:
①6fetches,4 max parallel,1908bytes, in 2.00143seconds
运行了6个请求,最大的并发进程数是4,总计传输的数据是1908bytes,运行的时间是2.00143秒。
②318mean bytes/connection
每一连接平均传输的数据量为1908/6=318
③2.99786 fetches/sec, 953.32 bytes/sec
每秒的响应请求为2.99786,每秒传递的数据为953.32 bytes/sec
④msecs/connect: 193.127 mean, 196.709 max, 190.659 min
每个连接的平均响应时间是193.127 msecs,最大的响应时间196.709msecs,最小的响应时间190.659 msecs
⑤msecs/first-response: 193.098 mean, 196.479 max, 190.508 min
⑥HTTP response codes:
code 200 – 6
打开响应页面的类型。
注意:我们一般会关注到的指标是fetches/sec、msecs/connect,它们分别对应的常用性能指标参数为Qpt-每秒响应用户数和response time,每连接响应用户时间。
4、常见错误:
①byte count wrong
http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出byte count wrong。
②too many open files
系统限制的open files太小
③无法发送大请求 (请求长度>600个字符)
默认接受请求的buf大小 http_load.c
④Cannot assign requested address
客户端频繁连接服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,要改客户端机器的内核配置。
net.ipv4.tcp_tw_reuse = 1
表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_timestamps=1
开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
net.ipv4.tcp_tw_recycle=1
表示开启TCP连接中TIME-WAIT sockets的快速回收