网站压力测试工具 Webbench

Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。

Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。Webbench最多可以模拟3万个并发连接去测试网站的负载能力。

一、获得webbench

1、下载

官方网站:http://home.tiscali.cz/~cz210552/webbench.html

2、WebBench安装:

[root@docker-04 opt]# yum install -y gcc ctags #先安装编译需要的组件

[root@docker-04 opt]# wget http://www.ha97.com/code/webbench-1.5.tar.gz

[root@docker-04 opt]# tar zxvf webbench-1.5.tar.gz

[root@docker-04 opt]# cd webbench-1.5

[root@docker-04 webbench-1.5]# make -j 4

[root@docker-04 webbench-1.5]# cp webbench /usr/bin

二、使用方法

[root@docker-04 webbench-1.5]# webbench

webbench [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.

三、进行测试

示例1,一般我们只用到-c和-t两个参数,类似下面这样。

[root@docker-04 webbench-1.5]# webbench -c 300 -t 60 http://192.168.88.157/phpinfo.php

-t表示运行测试的时间,如果不指定默认是30秒,-c表示客户端数量,也就是并发数。

示例2,是csdn博客的首页。

[root@docker-04 webbench-1.5]# webbench -c 1000 http://blog.csdn.net/

Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://blog.csdn.net/

1000 clients, running 30 sec.

Speed=86078 pages/min, 665694 bytes/sec.

Requests: 42948 susceed, 91 failed.

示例3,是一个可以下载电影的网站。

[root@docker-04 webbench-1.5]# webbench -c 1000 http://www.80s.com/

Webbench - Simple Web Benchmark 1.5

Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.80s.com/

1000 clients, running 30 sec.

Speed=60224 pages/min, 498450 bytes/sec.

Requests: 110 susceed, 30002 failed.

示例4,是我公司的一个网站,用于商户管理,查询交易记录等功能。该网站是java写的,用了struts+spring+hibernate的框架。

[root@docker-04 webbench-1.5]# webbench -c 1000 http://xxx.xxx.xxx.xxx:8080/INNPay/login.jsp

示例5,是我公司一个公众号服务地址。php写的,没有用任何的框架。

[root@docker-04webbench-1.5]#webbench -c 1000 http://xxx.xxx.xxx/inn_wechat_nofity/mc_login.php

四、结果分析

Pages/min:指的输出页数/分

bytes/sec:是指比特/秒

这两个指标能反应网站的访问速度。susceed和failed表示请求的成功数目和失败数目,失败的原因虽然没有日志但是应该能猜出是get请求得不到200的响应。

在测试的过程中,再通过浏览器访问被测试的网址能感觉到明显的卡顿。

上面的测试使用了相同的参数(1000的并发数目,30秒),但是不能根据测试结果比较网站的性能。因为还有其它因素,比如测试的当前网页有没有涉及到数据库的访问等等。

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

原文发布于微信公众号 - 运维猫(centos15)

原文发表时间:2019-08-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券