<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[静怡家园]]></title> 
<link>http://www.zhanghaijun.com/index.php</link> 
<description><![CDATA[书山有路勤为径，学海无涯苦作舟！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[静怡家园]]></copyright>
<item>
<link>http://www.zhanghaijun.com/post//</link>
<title><![CDATA[查看Apache并发请求数及其TCP连接状态]]></title> 
<author>碟舞飞扬 &lt;webmaster@zhanghaijun.com&gt;</author>
<category><![CDATA[服务器类]]></category>
<pubDate>Sun, 15 May 2011 19:39:13 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//</guid> 
<description>
<![CDATA[ 
	这两天搭建了一组Apache服务器，每台服务器4G内存，采用的是prefork模式，一开始设置的连接数太少了，需要较长的时间去响应用户的请求，后来修改了一下Apache 2.0.59的配置文件httpd.conf：<br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content"># prefork MPM<br/># StartServers: number of server processes to start<br/># MinSpareServers: minimum number of server processes which are kept spare<br/># MaxSpareServers: maximum number of server processes which are kept spare<br/># MaxClients: maximum number of server processes allowed to start<br/># MaxRequestsPerChild: maximum number of requests a server process serves<br/> <br/>StartServers 10<br/>MinSpareServers 10<br/>MaxSpareServers 15<br/>ServerLimit 2000<br/>MaxClients 2000<br/>MaxRequestsPerChild 10000</div></div><br/>查看httpd进程数（即prefork模式下Apache能够处理的并发请求数）：<br/>Linux命令：<br/>ps -ef &#124; grep httpd &#124; wc -l<br/>返回结果示例：<br/>1388<br/>表示Apache能够处理1388个并发请求，这个值Apache可根据负载情况自动调整，我这组服务器中每台的峰值曾达到过2002。<br/>查看Apache的并发请求数及其TCP连接状态：<br/>Linux命令:<br/>netstat -n &#124; awk '/^tcp/ &#123;++S[$NF]&#125; END &#123;for(a in S) print a, S[a]&#125;'<br/>(这条语句是从新浪互动社区事业部技术总监王老大那儿获得的，非常不错）<br/>返回结果示例：<br/>LAST_ACK 5<br/>SYN_RECV 30<br/>ESTABLISHED 1597<br/>FIN_WAIT1 51<br/>FIN_WAIT2 504<br/>TIME_WAIT 1057<br/>其中的SYN_RECV表示正在等待处理的请求数；ESTABLISHED表示正常数据传输状态；TIME_WAIT表示处理完毕，等待超时结束的请求数。<br/>关于TCP状态的变迁，可以从下图形象地看出：<br/><a href="http://www.zhanghaijun.com/attachment.php?fid=19" target="_blank"><img src="http://www.zhanghaijun.com/attachment.php?fid=19" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>状态：描述<br/>CLOSED：无连接是活动的或正在进行<br/>LISTEN：服务器在等待进入呼叫<br/>SYN_RECV：一个连接请求已经到达，等待确认<br/>SYN_SENT：应用已经开始，打开一个连接<br/>ESTABLISHED：正常数据传输状态<br/>FIN_WAIT1：应用说它已经完成<br/>FIN_WAIT2：另一边已同意释放<br/>ITMED_WAIT：等待所有分组死掉<br/>CLOSING：两边同时尝试关闭<br/>TIME_WAIT：另一边已初始化一个释放<br/> LAST_ACK：等待所有分组死掉<br/>Tags - <a href="http://www.zhanghaijun.com/tags/apache/" rel="tag">apache</a>
]]>
</description>
</item><item>
<link>http://www.zhanghaijun.com/post//#blogcomment</link>
<title><![CDATA[[评论] 查看Apache并发请求数及其TCP连接状态]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>