Web压力测试-Webbench
运行在linux上的一个性能测试工具
官网:http://home.tiscali.cz/~cz210552/webbench.html
原理
webbench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果(转至百度百科)
下载
[root@walle ~]# cd /mydata/software/[root@walle software]# wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz--2016-11-08 10:42:04-- http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz正在解析主机 home.tiscali.cz... 82.208.6.172正在连接 home.tiscali.cz|82.208.6.172|:80... 已连接。已发出 HTTP 请求,正在等待回应... 200 OK长度:7675 (7.5K) [application/x-tar]正在保存至: “webbench-1.5.tar.gz”100%[=====================================================================================================>] 7,675 --.-K/s in 0s 2016-11-08 10:42:11 (216 MB/s) - 已保存 “webbench-1.5.tar.gz” [7675/7675])[root@walle software]#
安装
[root@walle software]# tar zxf webbench-1.5.tar.gz [root@walle software]# cd webbench-1.5[root@walle webbench-1.5]# make && make install
[root@walle webbench-1.5]# which webbench/usr/local/bin/webbench[root@walle webbench-1.5]# webbench --helpwebbench [option]... URL -f|--force Don't wait for reply from server. -r|--reload Send reload request - Pragma: no-cache. -t|--time <sec> Run benchmark for <sec> seconds. Default 30. -p|--proxy <server:port> Use proxy server for request. -c|--clients <n> Run <n> HTTP clients at once. Default one. -9|--http09 Use HTTP/0.9 style requests. -1|--http10 Use HTTP/1.0 protocol. -2|--http11 Use HTTP/1.1 protocol. --get Use GET request method. --head Use HEAD request method. --options Use OPTIONS request method. --trace Use TRACE request method. -?|-h|--help This information. -V|--version Display program version.[root@walle webbench-1.5]#
## 测试
因为文档是简单使用,我们一般只用c:客户端个数 t:持续时间这个2个参数,如果不设置t参数,默认是执行30秒
进入webbench文件夹后,执行命令:webbench -c 10 [http://www.baidu.com](http://www.baidu.com/)
命令就是用10个客户端并发百度网站30秒,但是在执行的命令报错了:Invalid URL syntax - hostname don't ends with '/'.
解决办法就是在url后加个“/”
执行命令后的结果反馈
[root@walle webbench-1.5]# webbench -c 10 http://www.baidu.com/Webbench - Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://www.baidu.com/10 clients, running 30 sec.Speed=1306 pages/min, 2254555 bytes/sec.Requests: 653 susceed, 0 failed.[root@walle webbench-1.5]#
说明
在上个步骤中的结论是
Speed:每分钟的处理1482个请求;每秒的处理数据量:2495637字节=604.64k/s(2495637/8/1024)=0.29M/s(2495637/8/1024/1024)
Requests:处理的请求中成功740,失败1
小结
webbench的并发是采用进程运行而非线程,是其为吃内存的一种做法,如果需要长时间进行性能测试,还是推荐用loadrunner