网站压力测试-工具篇

webbench

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

wget http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

Ubuntu 下安装使用

1. 安装依赖包CTAGS
apt-get install ctags
2. 安装 Webbench
下载程序: [webbench-1.5.tar.gz](http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz)
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz make sudo make install

webbench 查看命令帮助

webbench -?

webbench 使用方法

webbench -c 500 -t 30 [http://127.0.0.1/test.php](http://127.0.0.1/test.php)

webbench 的参数说明 -c 表示并发数(客户端数),-t 表示时间(秒)
webbench 测试结果

Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://127.0.0.1/phpionfo.php
500 clients, running 30 sec.

Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.

分析:每秒钟响应请求数:3230 pages/min,每秒钟传输数据量11614212 bytes/sec.

ab

Apache附带的压力测试工具ab,非常容易使用,并且完全可以摸你各种条件对Web服务器发起测试请求。ab可以直接在Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户PC本地的计算时间。

要执行 1000 次的 connection, 20 次的 concurrent (并行, 同时):

语法: ab -n 1000 -c 20 www.baidu.com, -n 请求数, -c 并发数

产生出来的结果. 要注意的是以下几个:

§ Time taken for tests: 总共执行花了多久的时间.(以上 1000 次共多久)
§ Requests per second: 每秒平均可以处理多少个 connection.

参数详解

-n 测试会话中所执行的请求个数,默认仅执行一个请求
-c 一次产生的请求个数,即同一时间发出多少个请求,默认为一次一个
-t 测试所进行的最大秒数,默认为无时间限制....其内部隐含值是[-n 50000],它可以使对服务器的测试限制在一个固定的总时间以内
-p 包含了需要POST的数据的文件
-T POST数据所使用的Content-type头信息
-v 设置显示信息的详细程度
-w 以HTML表格的形式输出结果,默认是白色背景的两列宽度的一张表
-i 以HTML表格的形式输出结果,默认是白色背景的两列宽度的一张表
-x 设置<table>属性的字符串,此属性被填入<table 这里>
-y 设置<tr>属性的字符串
-z 设置<td>属性的字符串
-C 对请求附加一个Cookie行,其典型形式是name=value的参数对,此参数可以重复
-H 对请求附加额外的头信息,此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对(如"Accept-Encoding: zip/zop;8bit")
-A HTTP验证,用冒号:分隔传递用户名及密码
-P 无论服务器是否需要(即是否发送了401认证需求代码),此字符串都会被发送
-X 对请求使用代理服务器
-V 显示版本号并退出
-k 启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求,默认为不启用KeepAlive功能
-d 不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)
-S 不显示中值和标准背离值,且均值和中值为标准背离值的1到2倍时,也不显示警告或出错信息,默认会显示最小值/均值/最大值等(为以前的版本提供支持)
-g 把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件
-e 产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间
-h 显示使用方法
-k 发送keep-alive指令到服务器端
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 基本使用 ab就是Apache Benchmark的缩写,顾名思义它是Apache组织开发的一款web压力测试工具...
    水车阅读 9,549评论 0 5
  • 当你使用PHP(或其他编程语言)完成一个web程序的开发,并且web程序在Apache服务器上正常运行的时候,你有...
    零一间阅读 19,717评论 0 14
  • 写在前面 在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second)概...
    橙子酱阅读 241,066评论 13 190
  • 收到毕业证,可能学习才刚刚开始,这个毕业证是小学的,好是大学的呢?其实都不重要,现在已经不是文凭时代了,能力与结果...
    益慧道阅读 215评论 0 0