记录 WebBench、Siege服务器压力测试工具说明以及使用。
WenBench
WebBench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。
##下载安装:
1 | # git clone https://github.com/EZLippi/WebBench.git |
##命令行选项:
1 | -f|--force Don't wait for reply from server. |
#Siege
一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
安装使用
1 | # wget http://download.joedog.org/siege/siege-latest.tar.gz |
相关命令
1 | -V, --version VERSION, prints the version number. |
使用举例
1000个并发访问http://www.youku.com并重复请求100次
1 | siege -c 1000 -r 100 http://www.youku.com |
在urls.txt中列出所有的网址
1 | siege -c 200 -r 100 -f urls.txt |
随机选取urls.txt中列出所有的网址
1 | siege -c 200 -r 100 -f urls.txt -i |
不等待返回结果,2000个并发随机选取urls.txt重复请求100个
1 | siege -c 2000 -r 100 -f urls.txt -i -b |
指定http请求头请求
1 | siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b |
POST请求
1 | siege -c 1000 -r 100 http://www.a.com/ POST p1=v1&p2=v2 |
Siege输出结果说明
Transactions: 总共测试次数
Availability: 成功次数百分比
Elapsed time: 总共耗时多少秒
Data transferred: 总共数据传输
Response time: 等到响应耗时
Transaction rate: 平均每秒处理请求数
Throughput: 吞吐率
Concurrency: 最高并发
Successful transactions: 成功的请求数
Failed transactions: 失败的请求数