http_load安装与测试参数分析

http_load安装与测试参数分析

 

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

 

下载地址: http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz

安装很简单

#tar zxvf http_load-12mar2006.tar.gz

#cd http_load-12mar2006

#make && make install

 

命令格式:

http_load -p 并发访问进程数  -s  访问时间 

需要访问的URL 文件参数其实可以自由组合,参数之间的选择并没有什么限制。比如你写成 http_load -parallel 5 -seconds 300 urls.txt 也是可以的。

 

参数简单说明如下:

-parallel 简写 -p  :含义是并发的用户进程数。

-fetches 简写 -f  :含义是总计的访问次数

-rate   简写 -p  :含义是每秒的访问频率

-seconds简写 -s  :含义是总计的访问时间

 

准备URL 文件: urllist.txt ,文件格式是每行一个 URL URL 最好超过 50 100 个测试效果比较好 . 文件格式

如下:

http://view.sina.cn/index.php?vt=3

http://view.sina.cn/article.php?id=3521709204420645§ion_id=w_1728851592&vt=3

 

命令与结果分析:

命令:http_load -p 50 -s 120 urls 说明执行了一个持续时间 1 20 秒的测试, 最大并发进程为 50

结果返回:

6308 fetches, 50 max parallel, 1.05814e+08 bytes, in 120 seconds

16774.5 mean bytes/connection

52.5665 fetches/sec, 881778 bytes/sec

msecs/connect: 101.69 mean, 108.139 max, 87.318 min

msecs/first-response: 629.104 mean, 19940.7 max, 121.203 min

1 bad byte counts

HTTP response codes:

  code 200 -- 6308

结果分析:

 

1 6308 fetches, 50 max parallel, 1.05814e+08 bytes, in 120 seconds 说明在上面的测试中运行了 6308  个请求,最大的并发进程数是 50 ,总计传输的数据是 1.05814e+08  bytes,运行的时间是 120 

2 16774.5 mean bytes/connection说明每一连接平均传输的数据量 1.05814e+08 / 6308  = 16774

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

4 msecs/connect: 101.69 mean, 108.139 max, 87.318 min 说明每连接的平均响应时间是 101.69  msecs,最大的响应时间 108.139  msecs,最小的响应时间 87.318  msecs

5 msecs/first-response: 629.104 mean, 19940.7 max, 121.203 min(首次请求情况)

6 HTTP response codes:  code 200 -- 6308     说明打开响应页面的类型, (200表示正常相应,如果其他 类型 状态码 过多,那可能要注意是否系统遇到了瓶颈 403 】或出了问题)

 

特殊说明:

测试结果中主要的指标是 fetches/sec msecs/connect  这个选项,即服务器每秒能够响应的查询次数,用这个指标来衡量性能。似乎比  apache ab 准确率要高一些,也更有说服力一些。

当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu men 进行分析,才能得出结论 。而且这两项指标只是用来测试服务器的承载的压力情况,也不能完全作为代码执行效率的参考。对代码性能的具体分析。还是最好借助 xhprof分析。

你可能感兴趣的:(Web,http_load)