web服务性能测试工具http_load(Linux平台)

http_load的主页(实在是有点简陋):http://www.acme.com/software/http_load/

 

下载回来一个压缩包,解压出来之后连configure都不用,直接make即可生成可执行程序 http_load(视系统情况不同,可能你需要自己修改Makefile再编译)。注意:make的时候可能会有若干警告,但是可能并不影响使用生成的http_load程序,例如我在自己的机器上make,出现了这些警告:

 

gcc -Wall -O    -c http_load.c

http_load.c: In function 'main':

http_load.c:413: warning: implicit declaration of function 'time'

http_load.c: In function 'handle_connect':

http_load.c:937: warning: pointer targets in passing argument 5 of 'getsockopt' differ in signedness

gcc -Wall -O    -c timers.c

gcc -Wall -O    http_load.o timers.o -s   -o http_load

 

 

用http_load来测试web服务,需要在一个文件(文件名随意)中写上你需要访问的URL列表,每行写一个URL(这种做法可能有点怪?)。

 

http_load用法非常简单,并且虽然它是一个web服务性能测试工具,我仍然可以用它来以很小的访问频率来测试web服务,这在某些特定的情况下是很有用的。例如,我想让http_load以每秒钟5次的频率访问web服务、连续访问10分钟,这种情况已经不算压力测试了,但是我们有可能在某些时候需要实现这样的条件,http_load就可以派上用场了。

 

例如,执行:

./http_load -rate 1 -fetches 10 url_file

该命令表示以每秒1次的频率来访问文件url_file中定义的URL,总共访问10次。

 

返回的结果:

10 fetches, 2 max parallel, 5.36172e+06 bytes, in 11.4289 seconds

536172 mean bytes/connection

0.874978 fetches/sec, 469139 bytes/sec

msecs/connect: 131.448 mean, 136.034 max, 122.539 min

msecs/first-response: 132.763 mean, 138.524 max, 125.897 min

HTTP response codes:

  code 200 -- 10

 

最后的 “200”表示客户端请求已成功。

 

你可能感兴趣的:(linux,function,url,web服务,makefile,测试工具)