Linux压测工具(http_load,webbench,ab,siege)- 一,http_load
- 二,webbench
- 三,ab
- 四,攻城
一,http_load
程序非常小,解压后也不到100K http_load以并行重复的方式运行,并测试Web服务器的量子与负载。但是它大部分压力测试工具,它可以以一个单一的进程运行,一般不会把损坏搞死。还可以测试HTTPS类的网站请求。
下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz
安装 #tar zxvf http_load-12mar2006.tar.gz #cd http_load-12mar2006 #make && make install
命令格式:http_load -p并发访问进程数-s访问时间需要访问的URL文件 参数实际上可以自由组合,参数之间的选择并没有什么限制。或者您写成http_load -parallel 5 -seconds 300 urls.txt也可以的我们把参数给大家简单说明一下。 -parallel简写-p:含义是并发的用户进程数。 -fetches简写-f:含义是总计的访问次数 -rate简写-r:含义是每秒的访问频率 -seconds简写-s:意味着是总计的访问时间 准备URL文件:urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好。文件格式如下: http:// www .vpser.net / uncategorized / choose-vps.html http://www.vpser.net/vps-cp/hypervm-tutorial.html http://www.vpser.net/coupons/diavps-april-coupons.html http://www.vpser.net/security/vps-backup-web-mysql.html 例如: http_load -p 30 -s 60 urllist.txt 参数了解了,我们来看运行一条命令来看看它的返回结果 命令:%./http_load -rate 5 -seconds 10 urls说明执行了一个持续时间10秒的测试,每秒的频率为5。49 fetchs ,2 max parallel,289884 bytes,in 10.0148 seconds5916 mean bytes / connection4.89274 fetches / sec,28945.5字节/ secmsecs /连接:平均28.8932,最大44.243、24.488分钟/第一 响应:63.5362平均,最大81.624、57.803分钟HTTP响应代码:代码200-49
结果分析: 1.49读取,2个最大并行数,289884字节,在10.0148秒内 说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒 2.5916平均字节数/连接数表示每个连接平均传输的数据量289884/49 = 5916 3.4.89274每秒提取数,28945.5字节/秒 说明每秒的响应请求为4.89274,每秒传递的数据为28945.5字节/ sec 4.毫秒/连接:平均28.8932,最大值44.243,24.488分钟说明每连接的平均响应时间是28.8932毫秒,最大的响应时间44.243毫秒,最小的响应时间24.488 毫秒5.毫秒/第一响应:63.5362平均值,最大81.624,最大57.803分钟 6,HTTP响应代码:代码200 — 49说明打开响应页面的类型,如果403的类型过多,那可能
要注意是否系统遇到了限制。特殊 说明: 测试结果中主要的指标是fetchs / sec,msecs / connect这个选项,即服务器每秒能够响应的查询次数,用这个指标来达到最佳性能。 Qpt- 每秒响应用户数和响应时间,每连接响应用户时间。 测试的结果主要也是看这两个值。当然只有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu,men进行分析,才能转换
二,webbench
webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。下载地址可以到google搜索,我这里可以选择一个 下载地址:http://soft.vpser.net /test/webbench/webbench-1.5.tar.gz 这个程序更小,解压后不到50K,呵呵
安装 #tar zxvf webbench-1.5.tar.gz #cd webbench-1.5 #make && make install 会在当前目录生成的webbench复制文件,直接可以使用了
用法: webbench -c并发数-t运行测试时间URL例如 : webbench -c 5000 -t 120 http://www.163.com
三,ab
ab是apache自带的一套功能强大的测试工具 安装了apache一般就自带了, 用法可以查看它的说明
$ ./ab ./ab:错误的参数数量 用法:./ab [选项] [http://]主机名[:port] / path 选项包括: -n请求执行请求的数量 -c并发数量请求使 -t timelimit秒达到最大值。等待响应 -p postfile包含数据到POST的文件 -T content-type用于POSTing的Content-type标头 -v详细程度-要打印多少故障排除信息 -w在HTML表中打印结果 -i使用HEAD而不是GET -x属性字符串作为表属性插入 -y属性字符串作为tr属性插入 -z属性作为td或th属性插入的字符串 -C属性添加cookie,例如。'Apache = 1234。(可重复) -H属性添加任意标题行,例如 ‘Accept-Encoding:gzip’ 插入所有普通标题行之后。(可重复) -一个属性添加基本WWW身份验证,该属性 是用冒号分隔的用户名和密码。 -P属性添加基本代理身份验证,属性 是用冒号分隔的用户名和密码。 -X proxy:port要使用的代理服务器和端口号 -V打印版本号并退出 -k使用HTTP KeepAlive功能 -d不显示提供的百分位数表。 -S不要显示置信度估计器和警告。 -g filename将收集的数据输出到gnuplot格式文件。 -e文件名输出带有百分比的CSV文件 -h显示用法信息(此消息) 参数众多,一般我们用到的是-n和-c 例如: ./ab -c 1000 -n 100 http://www.vpser .net / index.php这个表示同时处理1000个请求并运行100次index.php文件。
四,攻城
一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。 官方:HTTP ://www.joedog.org/ 攻城下载:http://soft.vpser.net/test/siege/siege-2.67.tar.gz 解压:
tar -zxf siege-2.67.tar.gz 进入解压目录:
cd攻城战2.67 / 安装: #。/ configure; 进行 #make安装
使用 siege -c 200 -r 10 -f example.url -c是并发量,-r是重复次数。url文件就是一个文本,每行都是一个url,它会从里面随机访问的。
example.url内容:
http://www.licess.cn http://www.vpser.net http://soft.vpser.net
结果说明 解除服务器围困…完成。 事务:3419263 hits //完成419263次处理 可用性:100.00%// 100.00%成功率 经过时间:5999.69 secs //总用时 数据已传输:84273.91 MB //共数据传输84273.91 MB 响应时间:0.37 secs //相应用时1.65秒:显示网络连接的速度 事务速率:569.91 trans / sec //均每秒完成569.91次处理:表示服务器后 吞吐量:14.05 MB / sec //平均每秒传输数据 并发:213.42 //实际最高并发数 成功交易:2564081 //成功处理次数 失败交易:11 //失败处理次数 最长交易:29.04 //每次传输所花最长时间 最短交易:0.00 //每次传输所花最短时间