最近在做 压力测试工具,除了apache的ab测试工具外,发现webbentch工具也不错,这里简单介绍下这两个工具。
一、webbentch安装:
wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
如果没有安装ctags,则安装的时候会报错。ctags的安装:
apt-get install ctags
或者按照下面的步骤进行手动安装:
wget http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz
tar zxvf ctags-5.8.tar.gz
cd ctags-5.8
./configure
make && make install
二、webbentch使用:
测试原理:指定客户端的并发数和执行时间,查看服务器发出的请求中susceed的个数和failed的个数
使用命令:webbench -c 10000 -t 60 http://xx.xx.xx.156:8082/index.html
-c: 发起请求的客户端数,也就是我们所说的并发数
-t:执行时间长度
执行结果如下:
Webbench – Simple Web Benchmark 1.5
Requests: 1033020 susceed, 5 failed.
Copyright (c) Radim Kolar 1997-2004, GPL Open Source software.
Benchmarking: GET http://10.103.13.156:8082/index.html
10000 clients, running 60 sec.
Speed=1033025 pages/min, 3856600 bytes/sec.
Requests: 1033020 susceed, 5 failed.
三、apache的ab使用:
测试原理:指定客户端的并发数和请求总量,计算服务器每秒可以处理的请求数和每个请求响应的时间
使用命令:ab -c 10000 -n 80000 http://xx.xx.xx.156:8082/index.html
-c : 发起请求的客户端数,也就是我们所说的并发数
-n:发起的总请求数
执行结果如下:
需要关心的几个参数:Requests per second、Time per request
This is ApacheBench, version 2.3 <$Revision: 1528965 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.103.13.156 (be patient) Server Software: nginx //web服务器 Document Path: /index.html //请求地址 Concurrency Level: 10000 //设置的并发数,就是-c设置的值 Connection Times (ms) //时间的统计 Percentage of the requests served within a certain time (ms) |
三、注意事项:
在使用webbentch和apache的ab进行压力测试的时候,如果测试的url地址中有多个参数,需要对url中的"&"符号进行转义,输入“\&”即可;把"&"=>"%26"是没有效果的。
如url为 http://xx.xx.xx.156:8080/info.php?p1=v1&p2=v2&p3=v3
转换后 http://xx.xx.xx.156:8080/info.php?p1=v1\&p2=v2\&p3=v3