http_load压力测试使用

时间:2022-02-14 11:29:37

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

一、http_load安装

1)下载http_load安装包

A、可以直接下载:wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz

解压

make

sudo make install

二、http_load使用

1、创建URL文件

由于http_load运行的是URL文件,所以需要准备一个txt文件;于是,创建一个test.txt文件。

[root@localhost http_load-12mar2006]# touch test.txt

 

编辑test.txt文件:

[root@localhost http_load-12mar2006]# vi test.txt

输入如图地址后,保存并退出:

 

 

 

 

2、运行URL文件

[root@localhost http_load-12mar2006]# http_load -p 10 -s 10 test.txt

说明:

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

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

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

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

 

由于我是虚拟机里弄的,所以会看到如下图:

 

 

 

3、结果分析

1)图中“96 fetches, 10 max parallel, 1.1037e+07 bytes, in 10 seconds”

解释:在上面的测试中运行了96个请求,最大的并发进程数是10,总计传输的数据是1.1037e+07bytes,运行的时间是10秒

2)图中“114968 mean bytes/connection”

 

解释:每一连接平均传输的数据量1.1037e+07/96=114968

3)图中“9.59998 fetches/sec, 1.10369e+06 bytes/sec”

 

解释:每秒的响应请求为9.59998,每秒传递的数据为1.10369e+06 bytes/sec

4)图中“msecs/connect: 99.3326 mean, 3005.02 max, 4.132 min”

 

解释:每连接的平均响应时间是99.3326 msecs,最大的响应时间3005.02 msecs,最小的响应时间4.132 msecs

5)图中“msecs/first-response: 71.5985 mean, 708.071 max, 4.093 min”

 

6)图中“HTTP response codes:code 200 — 96”

 

解释:打开的页面类型是200,如果出现403等过多就说明系统遇到瓶颈了。

 

说明:

一般使用http_load做压力测试时,主要会考虑这“fetches/sec、msecs/connect ”两个项的结果,即服务器每秒能够响应的查询次数来衡量性能指标。

另一方面可以借助nmon来监控linux服务器的CPU、MEN等进行分析。

 

 

 

http_load使用方式:

http_load -parallel 100 -fetches 10000

#100个并发执行10000次

http_load -parallel 100 -seconds 3600

#100个并发执行1小时

http_load -rate 100 -fetches 10000

#每秒100个请求频率,请求10000次

http_load -rate 100 -seconds 3600

#每秒100个请求频率执行1小时