- 压测工具apache ab /webbentch
1.Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。ab命令 对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载。ab是最常用 的压测工具。
2.ebbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webBech的标准测试可以向我们展示服务器的两项 内容:每秒钟相应请求数和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试.
一 .压测工具的安装
1.压测工具apache ab的安装
在ubuntu1404的环境下
sudo apt-get install apache2-utils
2.压测工具webbentch的安装
安装依赖ctags
sudo apt-get install exuberant-ctags
因为没有apt包,所以只能编译安装
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(不需要编译)
二. 压测工具的使用
1.压测工具apache ab的使用
ab [options] [http[s]://]hostname[:port]/path
[options]:
-n requests 请求数
-c concurrency 并发数
-t timelimit Seconds to max. to spend on benchmarking
This implies -n 50000
-s timeout 每个请求的最大请求时间,默认30秒
-b windowsize TCP发送/接受的缓存的大小,单位是字节
-B address Address to bind to when making outgoing connections
-p postfile File containing data to POST. Remember also to set -T
-u putfile File containing data to PUT. Remember also to set -T
-T content-type 指定内容类型,如 -T ‘application/x-www-form-urlencoded‘ 默认类型是‘text/plain‘。
-v verbosity 多少故障排除信息数时去打印
-w 输出HTML TABLE里的结果
-i 用 HEAD 代替 GET
-x attributes table属性
-y attributes tr属性
-z attributes th/td属性
-C attribute 添加如 -C ‘Apache = 1234‘ (可重复)
-H attribute 添加请求头行, eg. ‘Accept-Encoding: gzip‘。 插入到所有普通头部行后,(可重复)
-A attribute 添加一个WWW认证, 这个属性是用冒号分割的用户名和密码。
-P attribute 添加基本代理认证。这个属性是用冒号分割的用户名和密码。
-X proxy:port 使用的代理服务器:端口号
-V 版本号
-k 使用长连接
-d 不显示百分比表
-S 不显示信任的评估和警告
-q 不显示进展当超过150个请求时
-l 接受可变的文件长度(使用此为动态网页)
-g filename 输出收集数据到gnuplot格式的文件里.
-e filename 输出服务端百分比到csv文件
-r 接收错误不退出
-h 显示使用信息
-Z ciphersuite 指定 SSL/TLS 密码套件 (见OpenSSL密码)
-f protocol 指定 SSL/TLS 协议,(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)
2. 压测工具webbentch的使用
webbench [option]... URL
-f|--force 不等待服务器的回复.
-r|--reload 重发 - Pragma: no-cache.
-t|--time <sec> 基准时间,默认30秒
-p|--proxy <server:port> 使用代理服务器去请求.
-c|--clients <n> 客户端数,并发数,默认为1
-9|--http09 使用 HTTP/0.9 版本去请求
-1|--http10 使用 HTTP/1.0 协议.
-2|--http11 使用 HTTP/1.1 协议.
--get 使用 GET 请求方法.
--head 使用 HEAD 请求方法.
--options 使用 OPTIONS 请求方法 .
--trace 使用 TRACE 请求方法.
-?|-h|--help 帮助
-V|--version 版本