压测工具http_load

参考文章1

https://www.cnblogs.com/xienb/p/9708724.html

一、安装 

1.下载地址:http://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz
2.解压后进入目录,执行make & make install命令
3.查看安装结果,输入http_load不报错即成功 

 

二、使用 
1.新建一个.txt文件(vim urllist.txt),用来存储目标URL(每个URL占一行) 
2.输入命令 http_load -p 5 -s 15 urllist.txt 

三、结果分析:

1.1724 fetches, 5 max parallel, 3.99564e+06 bytes, in 15 seconds

说明在上面的测试中运行了1724个请求,最大的并发进程数是5,总计传输的数据是3.99564e+06 bytes, 运行的时间是15秒

2.2317.66 mean bytes/connection

说明每一连接平均传输的数据量2317.66

3.114.933 fetches/sec, 266376 bytes/sec

说明每秒的响应请求为114.933,每秒传递的数据为266376 bytes/sec

4.msecs/connect: 17.6778 mean, 74.314 max, 9.921 min

说明每连接的平均响应时间是17.6778毫秒,最大响应时间是74.314毫秒,最小的响应时间9.921毫秒

5.msecs/first-response: 18.525 mean, 399.071 max, 9.795 min

首次平均响应时间18.525msecs, 最大耗时399.071 msecs, 最小耗时9.795msecs

6.HTTP response codes:

code 200 -- 337

code 400 -- 1387

返回200的有337次,返回400的有1387次

四、参数解析: 
-parallel 简写-p :含义是并发的用户进程数。 
-fetches 简写-f :含义是总计的访问次数 
-rate 简写-r :含义是每秒的访问频率 
-seconds简写-s :含义是总计的访问时间

五、https配置

1.修改配置,vim Makefile

修改以下几个配置项:

SSL_TREE 指向本机openssl安装目录

2.由于http_load自身https的算法问题,发送压力测试请求的client机器成为了瓶颈,无法体现真实的https数据。所以又采用了httperf进行测试。

用法详见:http://blog.csdn.net/LongMarch12/archive/2011/05/26/6448346.aspx

http://www.softwareqatest.com/qatweb1.html#LOAD

参考文章2

https://www.cnblogs.com/cqingt/p/6043126.html

http_load压力测试

http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB。它以并行复用的方式运行,可以测试web服务器的吞吐量与负载。

 一、安装http_load

A、进入/usr/local目录下创建man文件夹,并赋予权限;

[root@localhost ~]#cd /usr/local

[root@localhost local]#mkdir man

[root@localhost local]#chmod 777 man

B、进man文件夹中,下载http_load安装包;

[root@localhost local]#cd man

[root@localhost man]# wget  http://acme.com/software/http_load/http_load-12mar2006.tar.gz

C、解压、并安装http_load-12mar2006.tar.gz包;

[root@localhost man]# tar zxvf http_load-12mar2006.tar.gz

[root@localhost man]# cd http_load-12mar2006

[root@localhost http_load-12mar2006]# make

[root@localhost http_load-12mar2006]# sudo make install

 

二、使用方法

1、每次使用前,需要先切换到http_load目录下

cd http_load-12mar2006

 

2、了解参数和文件

 

参数全称含义
-p-parallel并发的用户进程数。
-f-fetches总计的访问次数
-r-rate含义是每秒的访问频率
-s-seconds连续的访问时间
url 网站连接地址或url文件
 

其中,“url”是http_load-12mar2006目录下其中一个文件,在使用前,先在http_load-12mar2006新建一个空白的名为urls.txt的文件,使用vi命令新建。urls.txt文件,每个URL一行,且不能有空行,否则报错。

 

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小时

 

3、开始测试

 

 

结果分析:
1.10 fetches, 10 max parallel, 20480bytes, in 0.052394 seconds
说明在上面的测试中运行了10个请求,最大的并发进程数是10,总计传输的数据是20480bytes,运行的时间是0.052394秒
2.2048 mean bytes/connection
说明每一连接平均传输的数据量2048/10(fetches)=204.8
3.190.862 fetches/sec, 390884 bytes/sec
说明每秒的响应请求为190.862,每秒传递的数据为390884 bytes/sec
4.msecs/connect: 1.4946 mean, 1.649 max, 1.353 min
说明每连接的平均响应时间是1.4946 毫秒,最大的响应时间1.649 毫秒,最小的响应时间1.353 毫秒
5.msecs/first-response: 26.9952 mean, 48.305 max,7.454 min
6、HTTP response codes: code 200 -- 10

每秒响应用户数和response time

每连接响应用户时间

 

结果分析:
1.49 fetches, 1 max parallel, 100352bytes, in 10 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是1,总计传输的数据是100352bytes,运行的时间是 10秒
2.2048 mean bytes/connection
说明每一连接平均传输的数据量100352/49(fetches)=2048
3.4.89999 fetches/sec, 10035.2 bytes/sec
说明每秒的响应请求为4.89999,每秒传递的数据为10035.2 bytes/sec
4.msecs/connect:0.284837 mean, 0.639 max, 0.163 min
说明每连接的平均响应时间是0.284837 毫秒,最大的响应时间0.639 毫秒,最小的响应时间0.163 毫秒
5.msecs/first-response: 4.91612 mean, 38.309 max, 3.393 min
6、HTTP response codes: code 200 -- 49
 

说明:

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

参考文章3

https://blog.csdn.net/taoy86/article/details/80537714

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

http_load用法:

usage: ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]

           -parallel N | -rate N [-jitter]

           -fetches N | -seconds N

           -cmd get(|post)

           url_file

One start specifier, either -parallel or-rate, is required.

One start specifier, either -cmd get or-cmd post, is required.

One end specifier, either -fetches or-seconds, is required.

注:

常用方式:

./http_load –r 200 –s 900 http.txt 2>2.log 1>1.txt (-r 模拟qps)

./http_load –p 200 –s 900 http.txt 2>2.log 1>1.tx t(-p 并发数)

模拟qps200,连续压测15分钟,错误日志输出到2.log文件中,最终的压测结果输出到1.txt文件中。

结果分析:

1. 10799998 fetches, 1020 max parallel, 3.17224e+10 bytes, in 43200 seconds//说明测试中运行了10799998个请求,最大的并发进程数是1020,总计传输的数据是3.17224e+10 bytes,运行的时间是432000秒

2. 2937.26 mean bytes/connection//说明每一连接平均传输的数据量是(3.17224e+10)/10799998=2937.26

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

4. msecs/connect: 0.194116 mean, 30.207 max, 0.125 min//说明每链接的平均响应时间是0.194116 msecs,最大的响应时间是30.207msecs,最小的响应时间是0.125 msecs

5. msecs/first-response: 22.9355 mean, 59996.9 max, 0.07 min//说明每个请求的平均响应时间是22.9355msecs,最大的响应时间是30.207msecs,最小的响应时间是0.07msecs。

6. 23088 timeouts//运行中有23088个请求超时

7. 27503 bad byte counts//同一个http请求,不一样的结果的个数。

8. HTTP response codes://说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。

code 200 – 10772495

这里主要看的参数有fetches/sec,msecs/first-response。要统计timeout的比例:timeouts/ fetches。这里的超时比例就是:23088/10799998=0.213%。

同时还要服务器端的cpu,mem和load。通常load数/cpu个数<=1是比较好的。

关于超时:http_load默认的超时时间为10s,这里的超时可以自己定义,但必须是int整数,不能是浮点数。

关于每秒种的请求数-r,如果pd有给期望的pv或uv,那么可大概算出qps,一般

qps=pv/(60×60×6)一般,每天按照6个小时算。如果没有期望值和参考值,就要去一个个试,看r为多少时,系统的性能达到最大值,试出一个临界值。

注:r就代表qps,即结果中的参数fetches/sec值。如果r太大时,系统可能会压挂或者不稳定,此时qps跟r的差别较大,压测结果不具备参考性,要适当降低r值。

 

 

cat urls.txt | awk '{print "http://172.27.13.17:8900/test?id="$1}' > urls2.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值