<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://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://jackxiang.com/post//</link>
<title><![CDATA[Nginx负载均衡器TIME_WAIT过多的问题]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Fri, 29 Apr 2011 11:59:57 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	我在做nginx相关项目时发现，如果架构前端使用了nginx代理，那么系统TIME_WAIT的数量会变得比较多，这是由于nginx代理使用了短链接的方式和后端交互的原因，使得nginx和后端的ESTABLISHED变得很少而TIME_WAIT很多。这不但发生在安装nginx的代理服务器上，而且也会使后端的app服务器上有大量的TIME_WAIT。查阅TIME_WAIT资料，发现这个状态很多也没什么大问题，但可能因为它占用了系统过多的端口，导致后续的请求无法获取端口而造成障碍，目前看来最好的办法是让每个TIME_WAIT早点过期：<br/>在linux上的nginx负载均衡器上可以这么配置：<br/>#让TIME_WAIT状态可以重用，这样即使TIME_WAIT占满了所有端口，也不会拒绝新的请求造成障碍<br/>echo &quot;1&quot; &gt; /proc/sys/net/ipv4/tcp_tw_reuse<br/>#让TIME_WAIT尽快回收，我也不知是多久，观察大概是一秒钟<br/>echo &quot;1&quot; &gt; /proc/sys/net/ipv4/tcp_tw_recycle<br/>※或者将以上配置直接写进/etc/sysctl文件，sysctl -p立即生效；如果后端的web集群为nginx+php5，它们的内核优化可关闭上述功能(这点跟前端的负载均衡器是不一样的)；年纪大了，将以上学习心得写进博客备忘，也方便以后布署时直接粘贴。<br/><textarea name="code" class="html" rows="15" cols="100">
[root@jackxiang ~]# cat /proc/sys/net/ipv4/tcp_tw_reuse
1
[root@jackxiang ~]# cat /proc/sys/net/ipv4/tcp_tw_recycle
1
</textarea>
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] Nginx负载均衡器TIME_WAIT过多的问题]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>