首页 > 代码库 > 【性能测试工具】- Http_Load

【性能测试工具】- Http_Load

优点:参数少;缺点:url.txt文件要求较高,不如siege方便

http_load是ACME实验室开发的,这个工具以并发方式运行,用以测试web服务器的吞吐量与负载。它不同于其它压力测试工具的是,它能以单一的进程运行,一般不会使客户机down掉。同时在unix下,除了http它也可以用来测试https类型的请求。官方地址:http://www.acme.com/software/http_load/

 

安装:
tar zxvf http_load-12mar2006.tar
cd http_load-12mar2006
make && make install                          /*makeinstall之间是有空格的,同时make install需要root权限*/

 

参数说明:
XXXXXXXXXXXXX:~/http_load-12mar2006$http_load –help
usage:  http_load [-checksum] [-throttle][-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]
            -parallel N | -rate N[-jitter]                           

            -fetches N | -seconds N                                   

            url_file            /*需要访问的URL文本文件,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好*/
One start specifier, either -parallel or -rate, is required.                              /*使用的时候 –parallel与-rate二选一*/
One end specifier, either -fetches or -seconds, is required.                         /*使用的时候 –feches与-second二选一*/

 

-parallel 简写-p :并发的用户进程数      /*http_load –p500 –s 300 user.txt,并发500个进程,跑300秒*/

-rate 简写-r :每秒的访问频率                /*比如http_load –r 5 –s 10 url.txt,说的是每秒的访问频率是5次,共跑10秒*/

-fetches 简写-f :总计的访问次数          /*使用fetches能让客户端保证确定请求数的全部处理,更容易让被测服务器受到压力 */

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

 

基本使用:

XXXXXXXXXXXXX:~/http_load-12mar2006$ http_load -p 10 -s 5 urls.txt     /*并发10个进程,访问5秒。Urls.txt内的文件格式为每行1个url地址。*/

 

操作结果:(测试的url.txt内的网址均为:http://www.test.com/index.html)

13995 fetches, 10max parallel, 21948 bytes, in 5 seconds                          /*共运行了13995个请求,最大并发进程数是10,总传输数据是21948个字节,运行时间5秒*/

1.56827 mean bytes/connection                    /*21948字节/13995请求 = 每个连接平均传输的数据量是1.56827个字节*/

2799 fetches/sec, 4389.6 bytes/sec             /*服务器每秒能够响应的查询次数是2799个(13995/5),每秒传递的数据是4389.6 bytes*/

msecs/connect: 1.74836 mean, 3.757 max, 1.439 min                   /*每个连接的平均访问时间是1.748毫秒*/

msecs/first-response:1.79729 mean, 5.463 max, 1.484 min      /**/

HTTP responsecodes:

  code 200 -- 236

 

讨论/疑问:

 

  • 测试结果里的msecs/connect与msecs/first-response的差别在于?