<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>深度VPS &#187; webbench</title>
	<atom:link href="http://www.deepvps.com/tag/webbench/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>VPS服务器性能 压力测试工具 http_load、webbench、ab、Siege使用教程</title>
		<link>http://www.deepvps.com/webserver-test-tools.html</link>
		<comments>http://www.deepvps.com/webserver-test-tools.html#comments</comments>
		<pubDate>Mon, 19 Apr 2010 15:30:01 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS优化]]></category>
		<category><![CDATA[ab]]></category>
		<category><![CDATA[http_load]]></category>
		<category><![CDATA[Siege]]></category>
		<category><![CDATA[webbench]]></category>
		<category><![CDATA[使用教程]]></category>
		<category><![CDATA[压力测试工具]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=400</guid>
		<description><![CDATA[一、http_load
程序非常小，解压后也不到100K
http_load以并行复用的方式运行，用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工
具，它可以以一个单一的进程运行，一般不会把客户机搞死。还可以测试HTTPS类的网站请求。
下载地址：http://deepvps.googlecode.com/files/http_load-12mar2006.tar.gz
安装很简单
#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make &#38;&#38; make install
命令格式：http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件
参数其实可以自由组合，参数之间的选择并没有什么限制。比如你写成http_load -parallel 5 -seconds
300 urls.txt也是可以的。我们把参数给大家简单说明一下。
-parallel 简写-p ：含义是并发的用户进程数。
-fetches 简写-f ：含义是总计的访问次数
-rate    简写-p ：含义是每秒的访问频率
-seconds简写-s ：含义是总计的访问时间
准备URL文件：urllist.txt，文件格式是每行一个URL，URL最好超过50－100个测试效果比较好。文件格式
例如：
http_load -p 30 -s 60  urllist.txt
参数了解了，我们来看运行一条命令来看看它的返回结果
命令：% ./http_load -rate 5 -seconds 10 urls说明执行了一个持续时间10秒的测试，每秒的频率为5。
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274
fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first
-response: 63.5362 mean, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>一、http_load</strong></p>
<p>程序非常小，解压后也不到100K</p>
<p>http_load以并行复用的方式运行，用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工</p>
<p>具，它可以以一个单一的进程运行，一般不会把客户机搞死。还可以测试HTTPS类的网站请求。</p>
<p>下载地址：<a href="http://deepvps.googlecode.com/files/http_load-12mar2006.tar.gz">http://deepvps.googlecode.com/files/http_load-12mar2006.tar.gz</a><span id="more-400"></span></p>
<p>安装很简单<br />
#tar zxvf http_load-12mar2006.tar.gz<br />
#cd http_load-12mar2006<br />
#make &amp;&amp; make install</p>
<p>命令格式：http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件</p>
<p>参数其实可以自由组合，参数之间的选择并没有什么限制。比如你写成http_load -parallel 5 -seconds</p>
<p>300 urls.txt也是可以的。我们把参数给大家简单说明一下。<br />
-parallel 简写-p ：含义是并发的用户进程数。<br />
-fetches 简写-f ：含义是总计的访问次数<br />
-rate    简写-p ：含义是每秒的访问频率<br />
-seconds简写-s ：含义是总计的访问时间</p>
<p>准备URL文件：urllist.txt，文件格式是每行一个URL，URL最好超过50－100个测试效果比较好。文件格式</p>
<p>例如：</p>
<p>http_load -p 30 -s 60  urllist.txt<br />
参数了解了，我们来看运行一条命令来看看它的返回结果<br />
命令：% ./http_load -rate 5 -seconds 10 urls说明执行了一个持续时间10秒的测试，每秒的频率为5。</p>
<p>49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274</p>
<p>fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first</p>
<p>-response: 63.5362 mean, 81.624 max, 57.803 minHTTP response codes: code 200 &#8212; 49 </p>
<p>结果分析：<br />
1．49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds<br />
说明在上面的测试中运行了49个请求，最大的并发进程数是2，总计传输的数据是289884bytes，运行的时间是10.0148秒<br />
2．5916 mean bytes/connection说明每一连接平均传输的数据量289884/49=5916<br />
3．4.89274 fetches/sec, 28945.5 bytes/sec<br />
说明每秒的响应请求为4.89274，每秒传递的数据为28945.5 bytes/sec<br />
4．msecs/connect: 28.8932 mean, 44.243 max, 24.488 min说明每连接的平均响应时间是28.8932 msecs，最大的响应时间44.243 msecs，最小的响应时间24.488 msecs<br />
5．msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min<br />
6、HTTP response codes: code 200 &#8212; 49     说明打开响应页面的类型，如果403的类型过多，那可能要注意是否系统遇到了瓶颈。</p>
<p>特殊说明：<br />
测试结果中主要的指标是 fetches/sec、msecs/connect 这个选项，即服务器每秒能够响应的查询次数，用这个指标来衡量性能。似乎比 apache的ab准确率要高一些，也更有说服力一些。<br />
Qpt-每秒响应用户数和response time，每连接响应用户时间。<br />
测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析，我们还需要对服务器的cpu、men进行分析，才能得出结论</p>
<p><strong>二、webbench</strong></p>
<p>webbench是Linux下的一个网站压力测试工具，最多可以模拟3万个并发连接去测试网站的负载能力。下载地址可以到google搜，我这里给出一个<br />
下载地址：<a href="http://deepvps.googlecode.com/files/webbench-1.5.tar.gz">http://deepvps.googlecode.com/files/webbench-1.5.tar.gz</a></p>
<p>这个程序更小，解压后不到50K，呵呵<br />
安装非常简单<br />
#tar zxvf webbench-1.5.tar.gz<br />
#cd webbench-1.5<br />
#make &amp;&amp; make install<br />
会在当前目录生成webbench可执行文件，直接可以使用了</p>
<p>用法：</p>
<p>webbench -c 并发数 -t 运行测试时间 URL<br />
如：<br />
webbench -c 5000 -t 120  <a href="http://www.xxx.com/">http://www.xxx.com</a></p>
<p><strong>三、ab</strong><br />
ab是apache自带的一款功能强大的测试工具。安装了apache一般就自带了，用法可以查看它的说明</p>
<p>$ ./ab<br />
./ab: wrong number of arguments<br />
Usage: ./ab [options] [http://]hostname[:port]/path<br />
Options are:<br />
-n requests Number of requests to perform<br />
-c concurrency Number of multiple requests to make<br />
-t timelimit Seconds to max. wait for responses<br />
-p postfile File containing data to POST<br />
-T content-type Content-type header for POSTing<br />
-v verbosity How much troubleshooting info to print<br />
-w Print out results in HTML tables<br />
-i Use HEAD instead of GET<br />
-x attributes String to insert as table attributes<br />
-y attributes String to insert as tr attributes<br />
-z attributes String to insert as td or th attributes<br />
-C attribute Add cookie, eg. &#8216;Apache=1234. (repeatable)<br />
-H attribute Add Arbitrary header line, eg. &#8216;Accept-Encoding: gzip&#8217;<br />
Inserted after all normal header lines. (repeatable)<br />
-A attribute Add Basic WWW Authentication, the attributes<br />
are a colon separated username and password.<br />
-P attribute Add Basic Proxy Authentication, the attributes<br />
are a colon separated username and password.<br />
-X proxy:port Proxyserver and port number to use<br />
-V Print version number and exit<br />
-k Use HTTP KeepAlive feature<br />
-d Do not show percentiles served table.<br />
-S Do not show confidence estimators and warnings.<br />
-g filename Output collected data to gnuplot format file.<br />
-e filename Output CSV file with percentages served<br />
-h Display usage information (this message)<br />
参数众多，一般我们用到的是-n 和-c<br />
例如：<br />
./ab -c 1000 -n 100  <a href="http://www.xxx.com/index.php">http://www.xxx.com/index.php</a></p>
<p>这个表示同时处理1000个请求并运行100次index.php文件.<br />
<strong></strong></p>
<p><strong>四、Siege<br />
</strong>一款开源的压力测试工具，可以根据配置对一个WEB站点进行多用户的并发访问，记录每个用户所有请求过程的相应时间，并在一定数量的并发访问下重复进行。<br />
官方：<a href="http://www.joedog.org/">http://www.joedog.org/</a><br />
Siege下载：<a href="http://deepvps.googlecode.com/files/siege-2.67.tar.gz">http://deepvps.googlecode.com/files/siege-2.67.tar.gz</a></p>
<p>解压：<br />
# tar -zxf siege-2.67.tar.gz<br />
进入解压目录：<br />
# cd siege-2.67/<br />
安装：<br />
#./configure ; make<br />
#make install</p>
<p>使用<br />
siege -c 200 -r 10 -f example.url<br />
-c是并发量，-r是重复次数。 url文件就是一个文本，每行都是一个url，它会从里面随机访问的。</p>
<p>example.url内容:</p>
<p><a href="http://www.licess.cn/">http://www.deepvps.com</a></p>
<p>结果说明<br />
Lifting the server siege… done.<br />
Transactions: 3419263 hits //完成419263次处理<br />
Availability: 100.00 % //100.00 % 成功率<br />
Elapsed time: 5999.69 secs //总共用时<br />
Data transferred: 84273.91 MB //共数据传输84273.91 MB<br />
Response time: 0.37 secs //相应用时1.65秒：显示网络连接的速度<br />
Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次处理：表示服务器后<br />
Throughput: 14.05 MB/sec //平均每秒传送数据<br />
Concurrency: 213.42 //实际最高并发数<br />
Successful transactions: 2564081 //成功处理次数<br />
Failed transactions: 11 //失败处理次数<br />
Longest transaction: 29.04 //每次传输所花最长时间<br />
Shortest transaction: 0.00 //每次传输所花最短时间</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/webserver-test-tools.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
