1)、简介
这个程序非常小解压后100k,http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但
是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。可以可以测试
HTTPS类的网站请求。
2)、获取
可以到下载。
3)、安装
[root@localhost software]# tar -zxvf http_load-12mar2006.tar.tar #解压
[root@localhost software]# cd http_load-12mar2006
[root@localhost http_load-12mar2006]# mkdir -p /usr/local/man/man1 #安装时会报出没有
前边的目录,所以建立目录/usr/local/man/man1
[root@localhost http_load-12mar2006]# make && make install #安装
[root@localhost http_load-12mar2006]# whereis http_load #查看程序安装目录
http_load: /usr/local/bin/http_load
4)、使用
命令格式:http_load -p 并发访问进程数 -s 访问时间 需要访问的URL list文件
http_load -r 每秒钟访问频率 -s总计的访问时间 需要放问的url list文件
-p 并发访问进程数;
-s 访问时间;
-r 每秒钟的访问频率
-f 总计的访问次数
注意:直接跟url是不行的必须是跟的一个url的文件,文件格式是每一行有一个url,中间不要出现空行否则
会爆 出一下错误:
[root@localhost scripts]# http_load -p 500 -s 60 /home/scripts/urllist
http_load: unknown protocol -
例子:
urllist内容:
[root@localhost scripts]# cat urllist
http_load -rate 5 -seconds 10 urls
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
HTTP response codes:
code 200 -- 49
结果含义
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,
运行的时间是10.0148秒
5916 mean bytes/connection
说明每一连接平均传输的数据量289884/49=5916
4.89274 fetches/sec, 28945.5 bytes/sec
说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间
24.488 msecs
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
HTTP response codes: code 200 -- 49
说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明
一般会关注到的指标是fetches/sec、msecs/connect,它们分别对应的常用性能指标参数QPS-每秒响
应
用户数和response time,每连接响应用户时间。测试的结果主要也是看这两个值。当然仅有这两个指标
并
不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论;
5 压力测试模型: 假设支持100w
每个用户每天访问a次 (web.tools.com)
每天次数:100w * a
按照80/20原则,80%的访问集中在20%的时间内
100w * a * 80% / 4.8小时
假设对用户来说每次访问6秒钟是可以接受的
(100w*a*80%/4.8h)*6=测试用并发数据