[原创文章,如需转载,请在转载时注明出处,并保证本文的完整性]
介绍:http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。
一、http_load安装
1)下载http_load安装包
A、可以直接下载:wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
B、可以直接下载到本地,然后通过CRT上传到linux服务器。
2)安装http_load
A、进入/usr/local目录下创建man文件夹,并赋予权限;
[root@localhost ~]#cd /usr/local
[root@localhost local]#mkdir man
[root@localhost local]#chmod 777 man
B、进man文件夹中,下载http_load安装包;
[root@localhost local]#cd man
[root@localhost man]# wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
C、解压、并安装http_load-12mar2006.tar.gz包;
[root@localhost man]# tar zxvf http_load-12mar2006.tar.gz
[root@localhost man]# cd http_load-12mar2006
[root@localhost http_load-12mar2006]# make
[root@localhost http_load-12mar2006]# sudo make install
二、http_load使用
1、创建URL文件
由于http_load运行的是URL文件,所以需要准备一个txt文件;于是,创建一个test.txt文件。
[root@localhost http_load-12mar2006]# touch test.txt
编辑test.txt文件:
[root@localhost http_load-12mar2006]# vi test.txt
输入如图地址后,保存并退出:
2、运行URL文件
[root@localhost http_load-12mar2006]# http_load -p 10 -s 10 test.txt
说明:
-parallel 简写-p :含义是并发的用户进程数。
-fetches 简写-f :含义是总计的访问次数
-rate 简写-p :含义是每秒的访问频率
-seconds简写-s :含义是总计的访问时间
由于我是虚拟机里弄的,所以会看到如下图:
3、结果分析
1)图中“96 fetches, 10 max parallel, 1.1037e+07 bytes, in 10 seconds”
解释:在上面的测试中运行了96个请求,最大的并发进程数是10,总计传输的数据是1.1037e+07bytes,运行的时间是10秒
2)图中“114968 mean bytes/connection”
解释:每一连接平均传输的数据量1.1037e+07/96=114968
3)图中“9.59998 fetches/sec, 1.10369e+06 bytes/sec”
解释:每秒的响应请求为9.59998,每秒传递的数据为1.10369e+06 bytes/sec
4)图中“msecs/connect: 99.3326 mean, 3005.02 max, 4.132 min”
解释:每连接的平均响应时间是99.3326 msecs,最大的响应时间3005.02 msecs,最小的响应时间4.132 msecs
5)图中“msecs/first-response: 71.5985 mean, 708.071 max, 4.093 min”
6)图中“HTTP response codes:code 200 -- 96”
解释:打开的页面类型是200,如果出现403等过多就说明系统遇到瓶颈了。
说明:
一般使用http_load做压力测试时,主要会考虑这“fetches/sec、msecs/connect ”两个项的结果,即服务器每秒能够响应的查询次数来衡量性能指标。
另一方面可以借助nmon来监控linux服务器的CPU、MEN等进行分析。