webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。

  1、适用系统:Linux

2、前期准备:yum install gcc ctags
  3、编译安装:

wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz  ###如果这个链接失效请使用百度云盘连接:https://pan.baidu.com/s/1FtLIhyeUpyRSQubrpFN-ig 提取码:5ryn
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

编译安装图:

[root@slave-2 webbench-1.5]# make && make install
ctags *.c
install -s webbench /usr/local/bin
install -m 644 webbench.1 /usr/local/man/man1
install: cannot create regular file `/usr/local/man/man1': No such file or directory ##提示没有这个文件夹
make: *** [install] Error 1
[root@slave-2 webbench-1.5]# mkdir -p /usr/local/man ##创建就是了
[root@slave-2 webbench-1.5]# mkdir -p /usr/local/man/man1 ##创建就是了
[root@slave-2 webbench-1.5]# make && make install
make: Nothing to be done for `all'.
install -s webbench /usr/local/bin
install -m 644 webbench.1 /usr/local/man/man1
install -d /usr/local/share/doc/webbench
install -m 644 debian/copyright /usr/local/share/doc/webbench
install -m 644 debian/changelog /usr/local/share/doc/webbench

4、使用:

[root@slave-2 webbench-1.5]# webbench -c 5000 -t 30 http://103.75.x.25/test.jpg   ##这里使用你需要测试的URL(网站ip或者域名网址),不建议本机测试本机

参数说明:-c表示并发数,-t表示时间(秒)

5、(1)测试结果示例:

[root@slave-2 webbench-1.5]# webbench -c 5000 -t 30 http://103.75.x.25/test.jpg
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET http://103.75.x.25/test.jpg
5000 clients, running 30 sec. Speed=30180 pages/min, 182495 bytes/sec.
Requests: 60351 susceed, 8 failed。

速度:每秒钟响应请求数:30180 pages/min,每秒钟传输数据量182495 bytes/sec.
    返回数:60351次返回成功,8次返回失败

(2) 测试期间在测试机器会占用带宽导致延迟增大等(看你机器配置),测试机器上上nginx日志输出:

备注:
1、压力测试工作应该放到产品上线之前进行
2、测试时尽量跨公网模拟正式环境进行
3、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开是否流程,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少

方法是使用Web Bench进行并发压力测试,选择的页面是phpinfo.php,并发请求开始5个,每次循环增加5个进入下轮的循环,每一轮循环持续60s,到达最大50个并发时结束。

for n in `seq 5 5 50`
do
echo -n $n " "
webbench -c $n -t 60 http://test.domain.com/phpinfo.php 2>/dev/null | grep Speed | awk '{print $1}' | awk -F= '{print $2}'
echo
done

最新文章

  1. iOS 定位功能的实现
  2. 使用Java字节流拷贝文件
  3. Firebug在Firefox DevTools 中复活
  4. 文件上传时jquery.form.js中提示form.submit SCRIPT5: 拒绝访问
  5. 关于Model层中Datetime Datetime? 默认值的问题
  6. 在vs环境中跑动sift特征提取(原理部分)
  7. 锋利的JQuery-Jquery中DOM操作
  8. hdu Train Problem I(栈的简单应用)
  9. Git版本控制器的使用
  10. [译]what is bootstrap
  11. angularJs, ui-grid 设置默认group, 及排序
  12. 【HTML笔记】--- 内联元素间距问题及解决方案
  13. WARNING: The host 'r6' could not be looked up with /usr/local/mysql/bin/resolveip.
  14. Bata验收互评
  15. Eclipse安装Svn无法连接问题
  16. LAMP架构之NFS
  17. Ubuntu 64位安装32位运行库
  18. [linux基础学习]默认的目录介绍
  19. 刷题向》一道逆向思维题(BZOJ1046)(NORMAL)
  20. 成都Uber优步司机奖励政策(3月3日)

热门文章

  1. Github标星26k+!一个神奇的软件!1分钟即可打造了一个科幻风格的终端
  2. 安装篇四:安装NGINX(1.4.0版本)
  3. Django 的自我进化
  4. Spring-IOC基本使用
  5. xxfpmW 的诞生过程
  6. Mybatis-Plus的Service方法使用 之 泛型方法default <V> List<V> listObjs(Function<? super Object, V> mapper)
  7. java中邮件通知
  8. Spring Cloud是什么鬼?
  9. 关于git的一些零碎知识
  10. <input type="image">表单提交2次 重复插入数据问题