Web压力测试小工具:webbench、http_load、Siege、ab

webbench

安装

下载地址:http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz

或者 http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz

(1)拷贝文件到linux下
(2)切换 root帐号:su root,如果不切换,下面的操作中可能会提示“权限不足”,所以先切换
(3)解压:#tar -zxf webbench-1.5.tar.gz
(4)#cd webbench-1.5
(5)安装:#make && make install
(6)在命令输入:#webbench -help 即可看到使用说明,安装成功!

使用

因为文档是简单使用,我们一般只用c:客户端个数  t:持续时间这个2个参数,如果不设置t参数,默认是执行30秒
进入webbench文件夹后,执行命令:webbench -c 10 http://www.baidu.com 
命令就是用10个客户端并发百度网站30秒,但是在执行的命令报错了:Invalid URL syntax - hostname don't ends with '/'.
解决办法就是在url后加个“/”
执行命令后的结果反馈
 

说明

在上个步骤中的结论是
Speed:每分钟的处理1482个请求;每秒的处理数据量:2495637字节=604.64k/s(2495637/8/1024)=0.29M/s(2495637/8/1024/1024
Requests:处理的请求中成功740,失败1
 

小结

webbench的并发是采用进程运行而非线程,是其为吃内存的一种做法,如果需要长时间进行性能测试,还是推荐用loadrunner
(部分摘自http://www.cnblogs.com/xxyBlogs/p/5639103.html)

http_load

安装

下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz

(1)拷贝文件到linux下
(2)切换 root帐号:su root,如果不切换,下面的操作中可能会提示“权限不足”,所以先切换

(3)解压:#tar -zxvf http_load-12mar2006.tar.gz
(4)#cd http_load-12mar2006
(5)#make && make install

使用

准备URL文件(注意:要放在http_load-12mar2006文件夹内):urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好.

文件格式如下:
http://hackerfans.com/xxx.html
http://hackerfans.com/xx.html
例如:

http_load -p 30 -s 60  urllist.txt
参数了解了,我们来看运行一条命令来看看它的返回结果
命令:% ./http_load -rate 5 -seconds 10 urls说明执行了一个持续时间10秒的测试,每秒的频率为5。

49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274

fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first

-response: 63.5362 mean, 81.624 max, 57.803 minHTTP response codes: code 200 -- 49

结果分析:
1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒
2.5916 mean bytes/connection说明每一连接平均传输的数据量289884/49=5916
3.4.89274 fetches/sec, 28945.5 bytes/sec
说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec
4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min

说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs
5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
6、HTTP response codes: code 200 -- 49     说明打开响应页面的类型,如果403的类型过多,那可能

要注意是否系统遇到了瓶颈。
特殊说明:
测试结果中主要的指标是 fetches/sec、msecs/connect 这个选项,即服务器每秒能够响应的查询次数,

用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。
Qpt-每秒响应用户数和response time,每连接响应用户时间。
测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的

cpu、men进行分析,才能得出结论

Siege

安装

下载地址:http://soft.vpser.net/test/siege/siege-2.67.tar.gz

(1)拷贝文件到linux下
(2)切换 root帐号:su root,如果不切换,下面的操作中可能会提示“权限不足”,所以先切换

(3)解压:# tar -zxf siege-2.67.tar.gz

(4)# cd siege-2.67

(5)#./configure

(6)#make

(7)#make install

(8)#siege -V查看版本信息。

(9)使用#siege -h 或者#siege --help查看帮助信息

安装完成!

Siege命令常用参数

-c 200 指定并发数200
-r 5 指定测试的次数5
-f urls.txt 制定url的文件
-i internet系统,随机发送url
-b 请求无需等待 delay=0
-t 5 持续测试5分钟
-r和-t一般不同时使用

常用的siege命令举例

200个并发对http://www.google.com发送请求100次
# siege -c 200 -r 100 http://www.google.com

在urls.txt中列出所有的网址
# siege -c 200 -r 100 -f urls.txt

随机选取urls.txt中列出所有的网址
# siege -c 200 -r 100 -f urls.txt -i

delay=0,更准确的压力测试,而不是功能测试
#siege -c 200 -r 100 -f urls.txt -i -b

指定http请求头 文档类型
# siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b

Siege输出结果说明

Transactions: 总共测试次数
Availability: 成功次数百分比
Elapsed time: 总共耗时多少秒
Data transferred: 总共数据传输
Response time: 等到响应耗时
Transaction rate: 平均每秒处理请求数
Throughput: 吞吐率
Concurrency: 最高并发
Successful transactions: 成功的请求数
Failed transactions: 失败的请求数

Siege使用的一些总结

1,发送post请求时,url格式为:http://www.xxxx.com/ POST p1=v1&p2=v2
2,如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确
3,siege -C 可以查看相关的配置参数,可以自行修改,比如是否显示log,超时时间

ab

还未使用,可先考下面的文章,使用后再补充心得。

http://jingyan.baidu.com/article/e3c78d647a57833c4c85f502.html

http://www.jb51.net/article/59469.htm

 

posted @ 2017-01-22 15:28  阑珊0701  阅读(1062)  评论(1编辑  收藏  举报