centos-rhel服务器相关 / linux / 未分类 · 2016年7月13日

介绍几款Web服务器性能压力测试工具ApacheBench(ab) Siege详解

今天有个游戏合作方要求压力测试入口 
一开始当然是想到ab啦 
但是 
[root@iZ94yy333a7Z ~]# ab -n 20 -c 500 http://60.com/evan.php
ab: Cannot use concurrency level greater than total number of requests
Usage: ab [options] [http[s]://]hostname[:port]/path
后来就改用了Siege
现在进入正题 
1.Siege
一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
Siege官方:http://www.joedog.org/
安装
wget -c http://download.joedog.org/siege/siege-latest.tar.gz
tar xvf siege-latest.tar.gz
cd siege-4.0.2/ && ./configure
make -j4 && make install

使用方法举例
[root@ip-59-38 ~]# cat site.url
http://60.com/evan.php
[root@ip- ~]# siege -c100 -r 10 -f site.url
-c是并发量,-r是重复次数。
url文件就是一个文本,每行都是一个url,它会从里面随机访问的。
Transactions: 1000 hits
Availability: 100.00 %
Elapsed time: 4.55 secs
Data transferred: 0.00 MB
Response time: 0.10 secs
Transaction rate: 219.78 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 21.89
Successful transactions: 1000
Failed transactions: 0
Longest transaction: 0.26
Shortest transaction: 0.08
结果说明:
Transactions: 550 hits //完成550次处理
Availability: 55.00 % //55.00 % 成功率
Elapsed time: 31.32 secs //总共用时
Data transferred: 1.15 MB //共数据传输1.15 MB
Response time: 3.04 secs //显示网络连接的速度
Transaction rate: 17.56 trans/sec //均每秒完成 17.56 次处理:表示服务器后
Throughput: 0.04 MB/sec //平均每秒传送数据
Concurrency: 53.44 //实际最高并发数
Successful transactions: 433 //成功处理次数
Failed transactions: 450 //失败处理次数
Longest transaction: 15.50 //每次传输所花最长时间
Shortest transaction: 0.42 //每次传输所花最短时间
http://www.qixing318.com/article/introduce-a-few-web-server-performance-pressure-testing-tools.html
2.终于讲到常用的ab了, 不过今天有点小问题 有空回头再看看 
-n requests Number of requests to perform
//在测试会话中所执行的请求个数(本次测试总共要访问页面的次数)。默认时,仅执行一个请求。
-c concurrency Number of multiple requests to make
//一次产生的请求个数(并发数)。默认是一次一个。
参数很多,一般我们用 -c 和 -n 参数就可以了。例如:
# ab -c 5000 -n 600 http://127.0.0.1/index.php
ApacheBench用法详解:
在Linux系统,一般安装好Apache后可以直接执行;
# ab -n 4000 -c 1000 http://www.linux.com
如果是Win系统下,打开cmd命令行窗口,cd到apache安装目录的bin目录下;
-n后面的4000代表总共发出4000个请求;-c后面的1000表示采用1000个并发(模拟1000个人同时访问),后面的网址表示测试的目标URL。
#100个并发 
ab -n 4 -c 100 url
yum install httpd-tools
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make at a time
ab -n 200 -c 50 http://tml.com/evan.php
ab -n 4000 -c 1000 http://www.linux.com
(总结)Web性能压力测试工具之ApacheBench(ab)详解
使用ab对nginx进行压力测试
http://www.nginx.cn/110.html
Linux下四款Web服务器压力测试工具介绍(http_load、webbench、ab、siege)