http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB。它以并行复用的方式运行,可以测试web服务器的吞吐量与负载。
一、获得http_load
httpd_load的官方站是:http://www.acme.com/software/http_load/,LinuxVPS学习者直接提供了下载地址(文件来自官方)
wget -c http://soft.kwx.gd/tools/http_load-12mar2006.tar.gz
二、解压并编译http_load
yum -y install gcc gcc-c++ #安装GCC编辑器
tar xzvf http_load-12mar2006.tar.gz #解压http_load压缩包
cd http_load-12mar2006 #进入http_load目录
mkdir /usr/local/man #创建目录
make && make install #编译并安装
三、使用方法
1、每次使用前,需要先切换到http_load目录下
cd http_load-12mar2006
由于我们默认安装在/root(帐号根目录)下,所以在使用前,SSH执行以上命令切换到该目录。
2、了解参数和文件
参数 | 全称 | 含义 |
-p | -parallel | 并发的用户进程数。 |
-f | -fetches | 总计的访问次数 |
-r | -rate |
含义是每秒的访问频率 |
-s | -seconds | 连续的访问时间 |
url | 网站连接地址或url文件 |
其中,“url”是http_load-12mar2006目录下其中一个文件,在使用前,先在http_load-12mar2006新建一个空白的名为url的文件,在Winscp中或使用vi命令新建。
然后在“url”里面填入您要测试的地址,如下图:
然后保存文件。
3、开始测试
./http_load -p 1021 -s 10 url #url为刚刚新建的文件
SSH执行以上命令,则向www.kwx.gd并发1021个线程,时间为连续10秒。
四、分析结果
41 fetches, 1020 max parallel, 851898 bytes, in 10.0008 seconds
# 一共请求连接41次,最大并发线程1020个,持续10.0008秒内,总传输速率为 851898bytes
20778 mean bytes/connection
#每次请求连接平均数据量(851898÷41)
4.09969 fetches/sec, 85183.3 bytes/sec
#每秒的响应请求连接数为4.09969个,每秒传输的数据为85183.3btyes/毫秒
msecs/connect: 264.607 mean, 269.482 max, 262.187 min
#每次连接平均响应时间:264.607毫秒,最大时间:269.482毫秒,最小时间:262.187毫秒
msecs/first-response: 1949.27 mean, 5394.21 max, 380.501 min
#每次连接平均返回时间:1949.27毫秒,最大时间:5394.21毫秒,最小时间:380.501毫秒
HTTP response codes: code 200 -- 41
#HTTP返回码:200 ,一共41次。
测试结果中,主要参考fetches/sec、msecs/connect数值,即服务器每秒能够响应的查询次数的数值来衡量性能,当然,单纯数值判断并不准确,还要参考CPU、内存的等消耗综合考虑。