<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践ok]apache压力测试ab，常用web服务器负载测试软件,nload查看出入流量。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Mon, 23 Jun 2008 08:27:52 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	主要是要这个：<br/>5000并发，请求数100w<br/>ab -c 5000 -n 1000000 &#039;http://10.70.62.28/riddle.php?iid=56764&amp;qid=56866&amp;uid=1<br/>&amp;reply=56867,56868&#039;<br/><br/>5000并发，请求数100w:<br/>ab -c 5000 -n 1000000 &#039;http://10.71.183.167/question.js&#039;<br/><br/>rpm -qf /usr/bin/nload<br/>nload-0.7.4-1.el6.x86_64<br/><br/><br/><br/>ab压测了一下10.70.62.28（就是白天压测掉的厉害的那台），测试结果我觉得挺好的。<br/><br/>并发4000，完成100w请求<br/>cpu负载5左右浮动<br/><br/>Complete requests:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1000000<br/>Failed requests:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21659 <br/>请求失败数是21659，计算了一下，100个人里有2个人失败<br/><br/>Requests per second:&nbsp;&nbsp;&nbsp;&nbsp;5986.29 [#/sec] (mean) 相当于LR中的tps，几乎就是6000了<br/><br/>Time per request:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 668.193 [ms] (mean) 用户等待每个请求时间，668毫秒<br/>Time per request:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.167 [ms] 服务器处理每个请求时间 0.167毫秒<br/><br/>网卡流量-取最大值<br/>进-112Mbps<br/>出-86Mbps<br/><br/>单独统计了一下nginx日志中http状态<br/>&quot;200&quot; 978350<br/>&quot;500&quot; 21664<br/>状态码是500有21664，符合ab的测试结果中的 Failed requests:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21659 <br/><br/>单独以ip地址建的web虚机，压测的产生的ngxin访问日志、错误日志也是单独的，就是为了统计一下http状态码的数量，然后和ab结果进行对比。<br/>__________________________________________<br/><br/><br/>apache压力测试ab <br/><br/>ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能，主要是显示你安装的Apache每秒可以处理多少个请求 <br/><br/><br/>ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能，主要是显示你安装的Apache每秒可以处理多少个请求。<br/><br/>概要<br/><br/>ab [ -A auth-username ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -v verbosity] [ -V ] [ -w ] [ -x &lt;table&gt;-attributes ] [ -X proxy[] ] [ -y &lt;tr&gt;-attributes ] [ -z &lt;td&gt;-attributes ] [http://]hostname[:port]/path<br/><br/><br/>选项<br/><br/>-A auth-username:password<br/>对服务器提供BASIC认证信任。用户名和密码由一个:隔开，并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码)，此字符串都会被发送。<br/><br/><br/>-c concurrency<br/>一次产生的请求个数。默认是一次一个。<br/><br/><br/>-C cookie-name=value<br/>对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复。<br/><br/><br/>-d<br/>不显示&quot;percentage served within XX [ms] table&quot;的消息(为以前的版本提供支持)。<br/><br/><br/>-e csv-file<br/>产生一个以逗号分隔的(CSV)文件，其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”，所以比&#039;gnuplot&#039;格式更有用。<br/><br/><br/>-g gnuplot-file<br/>把所有测试结果写入一个&#039;gnuplot&#039;或者TSV (以Tab分隔的)文件。此文件可以方便地导入到Gnuplot, IDL, Mathematica, Igor甚至Excel中。其中的第一行为标题。<br/><br/><br/>-h<br/>显示使用方法。<br/><br/><br/>-H custom-header<br/>对请求附加额外的头信息。此参数的典型形式是一个有效的头信息行，其中包含了以冒号分隔的字段和值的对 (如, &quot;Accept-Encoding: zip/zop;8bit&quot;).<br/><br/><br/>-i<br/>执行HEAD请求，而不是GET。<br/><br/><br/>-k<br/>启用HTTP KeepAlive功能，即, 在一个HTTP会话中执行多个请求。默认时，不启用KeepAlive功能.<br/><br/><br/>-n requests<br/>在测试会话中所执行的请求个数。默认时，仅执行一个请求，但通常其结果不具有代表意义。<br/><br/><br/>-p POST-file<br/>包含了需要POST的数据的文件.<br/><br/><br/>-P proxy-auth-username:password<br/>对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开，并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码)，此字符串都会被发送。<br/><br/><br/>-q<br/>如果处理的请求数大于150， ab每处理大约10%或者100个请求时，会在stderr输出一个进度计数。此-q标记可以抑制这些信息。<br/><br/><br/>-s<br/>用于编译中(ab -h会显示相关信息)使用了SSL的受保护的https，而不是http协议的时候。此功能是实验性的，也是很简陋的。最好不要用。<br/><br/><br/>-S<br/>不显示中值和标准背离值，而且在均值和中值为标准背离值的1到2倍时，也不显示警告或出错信息。默认时，会显示最小值/均值/最大值等数值。(为以前的版本提供支持).<br/><br/><br/>-t timelimit<br/>测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时，没有时间限制。<br/><br/><br/>-T content-type<br/>POST数据所使用的Content-type头信息。<br/><br/><br/>-v verbosity<br/>设置显示信息的详细程度 - 4或更大值会显示头信息， 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。<br/><br/><br/>-V<br/>显示版本号并退出。<br/><br/><br/>-w<br/>以HTML表的格式输出结果。默认时，它是白色背景的两列宽度的一张表。<br/><br/><br/>-x &lt;table&gt;-attributes<br/>设置&lt;table&gt;属性的字符串。 此属性被填入&lt;table 这里 &gt;.<br/><br/><br/>-X proxy[:port]<br/>对请求使用代理服务器。<br/><br/><br/>-y &lt;tr&gt;-attributes<br/>设置&lt;tr&gt;属性的字符串.<br/><br/><br/>-z &lt;td&gt;-attributes<br/>设置&lt;td&gt;属性的字符串.<br/><br/>缺陷<br/>程序中有各种静态声明的固定长度的缓冲区。另外，对命令行参数、服务器的响应头和其他外部输入的解析也很简单，这可能会有不良后果。<br/><br/>它没有完整地实现HTTP/1.x; 仅接受某些&#039;预想&#039;的响应格式。 strstr(3)的频繁使用可能会带来性能问题，即, 你可能是在测试ab而不是服务器的性能。<br/><br/><br/>----------------------------------------------------------------------------------------------------------------------<br/><br/>ex: 要執行 1000 次的 connection, 20 次的 concurrent (並行, 同時).<br/>語法: ab -n 1000 -c 20 http://localhost/abc.php<br/>產生出來的結果. 主要要注意的是以下幾個.<br/>Time taken for tests: 總共執行花了多久的時間.(以上 1000 次共多久)<br/><br/><br/>Requests per second: 每秒平均可以處理多少個 connection. <br/><br/>假设我们要对 echo.fcg 做测试，仿真 1000 次的联机请求，而且同一时间有 20 个并行的 (concurrent) 联机请求的情况，只要在命令列模式下执行 $ ab -n 1000 -c 20 http://localhost/fcgi-bin/echo.fcg 稍等一会，ApacheBench 会把结果秀出来， <br/><br/>This is ApacheBench, Version 1.3 Copyright c 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright c 1998-1999 The Apache Group, http://www.apache.org/ Benchmarking localhost (be patient)... <br/><br/>Server Software: Apache/1.3.6 <br/><br/>Server Hostname: localhost <br/><br/>Server Port: 80 <br/><br/>Document Path: /fcgi-bin/echo.fcg <br/><br/>Document Length: 995 bytes <br/><br/>Concurrency Level: 20 <br/><br/>Time taken for tests: 6.859 seconds <br/><br/>Complete requests: 1000 <br/><br/>Failed requests: 0 <br/><br/>Total transferred: 1142000 bytes HTML transferred: 995000 bytes <br/><br/>Requests per second: 145.79 <br/><br/>Transfer rate: 166.50 kb/s received Connnection Times (ms) min avg <br/><br/>max Connect: 0 4 61 <br/><br/>Processing: 62 128 771 <br/><br/>Total: 62 132 832<br/><br/>以上结果指出，在同时间 20 个联机请求 (Concurrency Level) 的情况下，完成 1000 次的联机请求，共花了 6.859 秒 (Time taken for tests)，因此这个程序每秒平均可以处理 (Requests per second) 145.79 个联机请求。 在接下来的评比测试中，我们就以每秒可以处理的联机请求数目来做为效能评比的依据。 <br/> 
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践ok]apache压力测试ab，常用web服务器负载测试软件,nload查看出入流量。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>