Skip to content

简易HTTP流量生成工具 – HTTP_LOAD

最近我需要测试一个SQUID反向代理服务器,由于我只需要发送一定数量的HTTP请求即可,没有很复杂的要求,通过google找到了这个HTTP_LOAD软件,正好符合我的需求。
HTTP_LOAD是一款简易的HTTP流量生成工具,或者说是HTTP客户端测试软件。我们可以用它来向目标WEB服务器发送指定的HTTP请求,而且它可以指定HTTP请求发送的频率或者时间长度,并且支持代理。
HTTP_LOAD是由ACME开发的,以源码方式发布。
软件下载地址:http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
下载完成后解压,然后进入到解压后的目录(http_load-12mar2006)直接运行“make”命令即可。
make命令将会生成一个名为http_load的可执行文件,它就是我们今天要介绍的主角。

要使用http_load,需要3个参数:

1. 如何开始HTTP请求
你可以使用-paralell N参数来指定HTTP请求的并发数量,或者使用-rate N参数来指定速率,但只能使用其中的一个
2. 何时停止HTTP请求
你可以使用-fetchs N来指定发送多少个HTTP请求,或者使用-seconds参数来指定你运行多少秒
3. HTTP请求的URL
你要发送的URL应该放在一个文本文件里,每行一个URL。将这个存放URL的文件路径和名称告诉HTTP_LOAD
如果需要,你可以通过-proxy host:port参数指定代理服务器。

如果你不指定任何参数来运行HTTP_LOAD,它就会输出它的用法,如下:

usage: ./http_load-12mar2006/http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]
-parallel N | -rate N [-jitter]
-fetches N | -seconds N
url_file
One start specifier, either -parallel or -rate, is required.
One end specifier, either -fetches or -seconds, is required.

下面就是我使用http_load的一个示例输出:

[root@mytest tmp]# ./http_load-12mar2006/http_load -proxy phxsquid01.phx.com:80 -parallel 2 -seconds 10 -verbose -timeout 1 url.txt
2096 fetches, 2 max parallel, 8.32612e+06 bytes, in 10 seconds
3972.39 mean bytes/connection
209.6 fetches/sec, 832612 bytes/sec
msecs/connect: 0.171205 mean, 9.901 max, 0.096 min
msecs/first-response: 8.7473 mean, 114.189 max, 0.385 min
HTTP response codes:
code 200 -- 2095
code 400 -- 1

如上所示,在测试结束以后,它会给出一些统计信息,比如,每秒请求多少次(209.6 fetches/sec),每次连接花费的毫秒数(msecs/connect)以及最下面的code 200(请求成功)的次数及code 400 (请求失败)的次数,等等。

Avatar

专业Linux/Unix/Windows系统管理员,开源技术爱好者。对操作系统底层技术,TCP/IP协议栈以及信息系统安全有强烈兴趣。电脑技术之外,则喜欢书法,古典诗词,数码摄影和背包行。

No comments yet.

Leave a Reply

SidebarComments (0)