<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[回忆未来[张宴]]]></title> 
<link>http://blog.s135.com/index.php</link> 
<description><![CDATA[策马湖南，驰聘武汉，纵横北京]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[回忆未来[张宴]]]></copyright>
<item>
<link>http://blog.s135.com/read.php?345</link>
<title><![CDATA[2008年5月2日，我们结婚的日子[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Mon, 12 May 2008 00:50:45 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?345</guid> 
<description>
<![CDATA[ 
	　　时间：2008年5月2日，地点：湖南省湘西自治州古丈县，我们的婚礼拉开帷幕。<br/><br/>　　1、抢亲，敲开新娘的房门，找到被藏起的婚鞋<br/><a href="http://blog.s135.com/attachment/200805/01.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/01.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　2、接出新娘<br/><a href="http://blog.s135.com/attachment/200805/02.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/02.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　3、上婚车<br/><a href="http://blog.s135.com/attachment/200805/03.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/03.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　4、车队环城<br/><a href="http://blog.s135.com/attachment/200805/04.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/04.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　★★★接新娘入花车，车队环城视频★★★<br/><script type="text/javascript">var FO = { movie:"http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=1&vid=13372615&uid=1278987704", width:"480", height:"370", majorversion:"8", build:"0", xi:"true", quality:"high", bgcolor:"#EAEFF0" };UFO.create(FO, "v20080502-1");</script><div id="v20080502-1"></div><br/><br/>　　5、花车，LOVE，永结同心<br/><a href="http://blog.s135.com/attachment/200805/05.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/05.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　6、下车，步入坐龙峡大酒店<br/><a href="http://blog.s135.com/attachment/200805/06.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/06.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　7、结婚典礼，喝下交杯酒<br/><a href="http://blog.s135.com/attachment/200805/07.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/07.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　2008年5月2日上午9点，坐龙峡大酒店<br/><br/>　　★★★结婚典礼视频★★★<br/><script type="text/javascript">var FO = { movie:"http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=1&vid=13274103&uid=1278987704", width:"480", height:"370", majorversion:"8", build:"0", xi:"true", quality:"high", bgcolor:"#EAEFF0" };UFO.create(FO, "v20080502-2");</script><div id="v20080502-2"></div><br/><br/>　　8、牵手缘<br/><a href="http://blog.s135.com/attachment/200805/08.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/08.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　9、从武汉远道而来的18位民大新闻网兄弟姐妹<br/><a href="http://blog.s135.com/attachment/200805/09.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/09.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>　　此外，参加婚礼的还有我的亲朋好友20多人，女友父母、哥姐、亲戚10余人，我大学寝室的两个哥们，女友大学寝室的6位姐妹，<a href="http://blog.sina.com.cn/melodytian" target="_blank">挪葳之云</a>等我的初、高中同学，我的小学、中学老师，老爸的朋友300多人。<br/><br/>　　10、洞房<br/><a href="http://blog.s135.com/attachment/200805/10.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200805/10.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>　　大家闹洞房闹得很晚，我们也玩得很开心。现在，终于可以关上灯，睡觉了。<br/><br/>Tags - <a href="tag.php?tag=%E7%BB%93%E5%A9%9A" rel="tag">结婚</a> , <a href="tag.php?tag=%E5%A9%9A%E7%A4%BC" rel="tag">婚礼</a> , <a href="tag.php?tag=%E8%8A%B1%E8%BD%A6" rel="tag">花车</a> , <a href="tag.php?tag=%E7%BB%93%E5%A9%9A%E5%85%B8%E7%A4%BC" rel="tag">结婚典礼</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?344</link>
<title><![CDATA[为Apache编译添加mod_expires模块出错的解决笔记[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Thu, 08 May 2008 04:56:05 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?344</guid> 
<description>
<![CDATA[ 
	　　注：/usr/local/apache/为Apache的安装路径，/opt/httpd-2.0.55/为Apache的源代码目录。<br/><br/>　　Linux下，执行以下命令为Apache添加mod_expires模块：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">/usr/local/apache/bin/apxs -i -a -c /opt/httpd-2.0.55/modules/metadata/mod_expires.c</div><br/>　　报错：<div class="quote"><div class="quote-title">引用</div><div class="quote-content">Warning! &nbsp;dlname not found in /usr/local/apache/modules/mod_expires.la.<br/>Assuming installing a .so rather than a libtool archive.<br/>chmod 755 /usr/local/apache/modules/mod_expires.so<br/>chmod: 无法访问‘/usr/local/apache/modules/mod_expires.so’: 没有那个文件或目录<br/>apxs:Error: Command failed with rc=65536</div></div><br/>　　再执行：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">gcc -shared -o /usr/local/apache/modules/mod_expires.so /opt/httpd-2.0.55/modules/metadata/mod_expires.o<br/>/usr/local/apache/bin/apxs -i -a -c /opt/httpd-2.0.55/modules/metadata/mod_expires.c</div><br/>　　编译成功。<br/><br/>Tags - <a href="tag.php?tag=linux" rel="tag">linux</a> , <a href="tag.php?tag=apache" rel="tag">apache</a> , <a href="tag.php?tag=httpd" rel="tag">httpd</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?343</link>
<title><![CDATA[MySQL数据库服务器在Flickr、Fotolog、Wkipedia、Facebook等国际知名网站中的使用数量]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Thu, 08 May 2008 00:59:52 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?343</guid> 
<description>
<![CDATA[ 
	　　2008年4月18日，在Alexa安排的一次“<a href="http://venublog.com/2008/04/16/notes-from-scaling-mysql-up-or-out/" target="_blank">Scaling MySQL -- Up or Out?</a>”的小组辩论中，MySQL、Sun、Flickr、Fotolog、Wkipedia、Facebook、YouTube等国际知名网站的DBA们，对其网站MySQL数据库服务器、Web服务器、缓存服务器的数量，MySQL版本，编程语言类型，操作系统类型等问题进行了回答。<br/><br/>　　<a href="http://blog.s135.com/attachment/200805/mysql_number.gif" target="_blank"><img src="http://blog.s135.com/attachment/200805/mysql_number.gif" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/>Tags - <a href="tag.php?tag=mysql" rel="tag">mysql</a> , <a href="tag.php?tag=sun" rel="tag">sun</a> , <a href="tag.php?tag=flickr" rel="tag">flickr</a> , <a href="tag.php?tag=fotolog" rel="tag">fotolog</a> , <a href="tag.php?tag=wkipedia" rel="tag">wkipedia</a> , <a href="tag.php?tag=facebook" rel="tag">facebook</a> , <a href="tag.php?tag=youtube" rel="tag">youtube</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?341</link>
<title><![CDATA[一款不错的开源密码管理软件──KeePass]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[电脑杂谈]]></category>
<pubDate>Wed, 07 May 2008 00:59:51 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?341</guid> 
<description>
<![CDATA[ 
	　　keepass 能帮助您安全的管理密码。你可以把所有的密码都放入一个带锁(密码)的数据库中，这样你就只用记住该密码(锁)就可以了。而数据库是用当今最先进的加密算法(AES)进行加密的。<br/><br/>　　KeePass 官方下载地址：<a href="http://keepass.info/download.html" target="_blank">http://keepass.info/download.html</a><br/><br/>　　KeePass 1.11 绿色中文正式版：<a href="attachment.php?f=%2Fsoft%2Fwindows%2FKeePass%2FKeePass-1.11.zip">点击这里下载文件</a><br/>　　运行平台：Windows<br/><br/><br/>Tags - <a href="tag.php?tag=keepass" rel="tag">keepass</a> , <a href="tag.php?tag=%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86" rel="tag">密码管理</a> , <a href="tag.php?tag=windows" rel="tag">windows</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?340</link>
<title><![CDATA[婚礼倒计时...[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Tue, 29 Apr 2008 17:08:24 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?340</guid> 
<description>
<![CDATA[ 
	　　4月26日12:20分，我和女友乘坐K267离开北京，27日抵达我家──湖南省湘西自治州古丈县，继续准备5月2日的婚礼。<br/><br/>　　结婚典礼将于2008年5月2日早上9点在“坐龙峡大酒店”举行，婚宴将摆酒席45桌，确定参加婚礼的人数有：我的亲戚、同学、朋友，老爸的同事、朋友300余人。另外，还有5月1日即将远途赶来的女友父母、哥姐、亲戚10余人，我大学寝室的两个哥们，女友大学寝室的两位姐妹，以及我大学期间曾工作过的校园媒体──中南民族大学新闻网（<a href="http://news.scuec.edu.cn" target="_blank">http://news.scuec.edu.cn</a>）2003级同学、2004～2006级师弟师妹20人。<br/><br/>　　婚礼序曲：<br/><br/><br/>此处包含一个多媒体文件，请用网页方式查看。<br/><br/><br/><br/>Tags - <a href="tag.php?tag=%E7%BB%93%E5%A9%9A" rel="tag">结婚</a> , <a href="tag.php?tag=%E5%A9%9A%E7%A4%BC" rel="tag">婚礼</a> , <a href="tag.php?tag=%E7%88%B1%E6%83%85" rel="tag">爱情</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?338</link>
<title><![CDATA[减少Linux下Squid服务器的TIME_WAIT套接字数量[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Mon, 14 Apr 2008 03:48:07 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?338</guid> 
<description>
<![CDATA[ 
	　　Linux下高并发的Squid服务器，TCP TIME_WAIT套接字数量经常达到两、三万，服务器很容易被拖死。通过修改Linux内核参数，可以减少Squid服务器的TIME_WAIT套接字数量。<br/>　　<div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">vi /etc/sysctl.conf</div><br/>　　增加以下几行：<div class="quote"><div class="quote-title">引用</div><div class="quote-content">net.ipv4.tcp_fin_timeout = 30<br/>net.ipv4.tcp_keepalive_time = 1200<br/>net.ipv4.tcp_syncookies = 1<br/>net.ipv4.tcp_tw_reuse = 1<br/>net.ipv4.tcp_tw_recycle = 1<br/>net.ipv4.ip_local_port_range = 1024 &nbsp; &nbsp;65000<br/>net.ipv4.tcp_max_syn_backlog = 8192<br/>net.ipv4.tcp_max_tw_buckets = 5000</div></div><br/>　　说明：<br/>　　net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时，启用cookies来处理，可防范少量SYN攻击，默认为0，表示关闭；<br/>　　net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接，默认为0，表示关闭；<br/>　　net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收，默认为0，表示关闭。<br/>　　net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭，这个参数决定了它保持在FIN-WAIT-2状态的时间。<br/>　　net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候，TCP发送keepalive消息的频度。缺省是2小时，改为20分钟。<br/>　　net.ipv4.ip_local_port_range = 1024 &nbsp; &nbsp;65000 表示用于向外连接的端口范围。缺省情况下很小：32768到61000，改为1024到65000。<br/>　　net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度，默认为1024，加大队列长度为8192，可以容纳更多等待连接的网络连接数。 <br/>　　net.ipv4.tcp_max_tw_buckets = 5000 表示系统同时保持TIME_WAIT套接字的最大数量，如果超过这个数字，TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000，改为5000。对于Apache、Nginx等服务器，上几行的参数可以很好地减少TIME_WAIT套接字数量，但是对于Squid，效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量，避免Squid服务器被大量的TIME_WAIT套接字拖死。<br/><br/>　　执行以下命令使配置生效：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">/sbin/sysctl -p</div><br/>Tags - <a href="tag.php?tag=linux" rel="tag">linux</a> , <a href="tag.php?tag=squid" rel="tag">squid</a> , <a href="tag.php?tag=cache" rel="tag">cache</a> , <a href="tag.php?tag=centos" rel="tag">centos</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?337</link>
<title><![CDATA[解决“HTTP/1.1 405 Method not allowed”问题，让静态文件响应POST请求[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Thu, 10 Apr 2008 04:50:30 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?337</guid> 
<description>
<![CDATA[ 
	　　Apache、IIS、Nginx等绝大多数web服务器，都不允许静态文件响应POST请求，否则会返回“HTTP/1.1 405 Method not allowed”错误。<br/><br/>　　例1：用Linux下的curl命令发送POST请求给Apache服务器上的HTML静态页<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">[root@new-host ~]# curl -d 1=1 <A href="http://www.sohu.com/index.html"><a href="http://www.sohu.com/index.html" target="_blank">http://www.sohu.com/index.html</a></A><br/>&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&gt;<br/>&lt;HTML&gt;&lt;HEAD&gt;<br/>&lt;TITLE&gt;405 Method Not Allowed&lt;/TITLE&gt;<br/>&lt;/HEAD&gt;&lt;BODY&gt;<br/>&lt;H1&gt;Method Not Allowed&lt;/H1&gt;<br/>The requested method POST is not allowed for the URL /index.html.&lt;P&gt;<br/>&lt;HR&gt;<br/>&lt;ADDRESS&gt;Apache/1.3.37 Server at <A href="http://www.sohu.com"><a href="http://www.sohu.com" target="_blank">www.sohu.com</a></A> Port 80&lt;/ADDRESS&gt;<br/>&lt;/BODY&gt;&lt;/HTML&gt;</font></div><br/><br/>　　例2：用Linux下的curl命令发送POST请求给Nginx服务器上的HTML静态页<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">[root@new-host ~]# curl -d 1=1 <A href="http://blog.s135.com/tech/index.htm"><a href="http://blog.s135.com/tech/index.htm" target="_blank">http://blog.s135.com/tech/index.htm</a></A><br/>&lt;html&gt;<br/>&lt;head&gt;&lt;title&gt;405 Not Allowed&lt;/title&gt;&lt;/head&gt;<br/>&lt;body bgcolor="white"&gt;<br/>&lt;center&gt;&lt;h1&gt;405 Not Allowed&lt;/h1&gt;&lt;/center&gt;<br/>&lt;hr&gt;&lt;center&gt;nginx/0.5.35&lt;/center&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;</font></div><br/><br/>　　但在有些应用中，需要使静态文件能够响应POST请求。<br/><br/>　　对于Nginx，可以修改nginc.conf配置文件，改变“405错误”为“200 ok”，并配置location来解决，方法如下：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">server<br/>{<br/> &nbsp; &nbsp;listen &nbsp; &nbsp; &nbsp; 80;<br/> &nbsp; &nbsp;server_name &nbsp;domain.s135.com;<br/> &nbsp; &nbsp;index index.html index.htm index.php;<br/> &nbsp; &nbsp;root &nbsp;/opt/htdocs;<br/><br/> &nbsp; &nbsp;if (-d $request_filename)<br/> &nbsp; &nbsp;{<br/> &nbsp; &nbsp; &nbsp; &nbsp;rewrite ^/(.*)([^/])$ <a href="http://$host/$1$2/" target="_blank">http://$host/$1$2/</a> permanent;<br/> &nbsp; &nbsp;}<br/><br/> &nbsp; &nbsp;error_page &nbsp; 405 =200 @405;<br/> &nbsp; &nbsp;location @405<br/> &nbsp; &nbsp;{<br/> &nbsp; &nbsp; &nbsp; &nbsp;root &nbsp;/opt/htdocs;<br/> &nbsp; &nbsp;} &nbsp; &nbsp; <br/> <br/> &nbsp; &nbsp;location ~ .*&#92;.php?$<br/> &nbsp; &nbsp;{<br/> &nbsp; &nbsp; &nbsp; &nbsp;include conf/fcgi.conf; &nbsp; &nbsp; &nbsp;<br/> &nbsp; &nbsp; &nbsp; &nbsp;fastcgi_pass &nbsp;127.0.0.1:10080;<br/> &nbsp; &nbsp; &nbsp; &nbsp;fastcgi_index index.php;<br/> &nbsp; &nbsp;}<br/>}</div><br/><br/>Tags - <a href="tag.php?tag=linux" rel="tag">linux</a> , <a href="tag.php?tag=nginx" rel="tag">nginx</a> , <a href="tag.php?tag=html" rel="tag">html</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?336</link>
<title><![CDATA[一个时代的结束[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Sun, 06 Apr 2008 15:36:06 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?336</guid> 
<description>
<![CDATA[ 
	　　不安逸于现状，<br/>　　望加速追逐梦想。<br/>　　挥挥笔，<br/>　　再见理想国际。<br/>　　抽身ＩＴ界，<br/>　　独练开源剑。<br/>　　待到花谢花又开，<br/>　　那是王者复归来。<br/>　　2007.01.25──2008.03.31，<br/>　　一个时代的结束。<br/>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?335</link>
<title><![CDATA[婚纱照，永恒的瞬间[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Sun, 30 Mar 2008 15:21:35 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?335</guid> 
<description>
<![CDATA[ 
	　　上周六（2008年3月22日），我们去拍了婚纱照。喀嚓，美丽的一刻永远停留在镜头下，化作爱情的历史见证。在我们即将步入婚姻殿堂的时刻，也愿天下所有有情人终成眷属。<br/><br/>　　<a href="http://www.yupoo.com/albums/share/view?id=ff80808118e161b401190118e3f13ba3" target="_blank" title="点击浏览更多婚纱照"><img src="attachment/200803/hunshazhao.jpg" border="0"></a><br/><br/>　　更多婚纱照：<a href="http://www.yupoo.com/albums/share/view?id=ff80808118e161b401190118e3f13ba3" target="_blank">http://www.yupoo.com/albums/share/view?id=ff80808118e161b401190118e3f13ba3</a><br/><br/><br/><br/>Tags - <a href="tag.php?tag=%E5%A9%9A%E7%BA%B1%E7%85%A7" rel="tag">婚纱照</a> , <a href="tag.php?tag=%E7%BB%93%E5%A9%9A" rel="tag">结婚</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?334</link>
<title><![CDATA[Nginx + PHP5（FastCGI）生产环境跑PHP动态程序可超过“700次请求/秒”[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Wed, 26 Mar 2008 09:25:48 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?334</guid> 
<description>
<![CDATA[ 
	　　我生产环境下的两台Nginx + PHP5（FastCGI）服务器，跑多个一般复杂的纯PHP动态程序，从Nginx的日志可以统计出，单台Nginx + PHP5（FastCGI）服务器跑PHP动态程序的处理能力已经超过“700次请求/秒”，相当于每天可以承受6000万（700*60*60*24=60480000）的访问量：<br/><br/>　　服务器①：DELL PowerEdge 1950（两颗 Intel(R) Xeon(R) 双核CPU 5120 @ 1.86GHz，4GB内存）<br/><br/>　　服务器②：DELL PowerEdge 1950（一颗 Intel(R) Xeon(R) 双核CPU 5140 @ 2.33GHz，4GB内存）<br/><br/>　　Web服务器：CentOS Linux 4.4 + Nginx 0.5.35 + PHP 5.2.6RC2（300 FastCGI Procees, unix-domain socket, with XCache）<br/><br/>　　PHP程序内容：大量Memcached读写、少量MySQL读操作、大量文件队列写操作，然后计算，生成供&lt;script type=&quot;text/javascript&quot; src=&quot;<a href="http://www.domain.com/abc.php?u=1&quot;&gt;&lt;/script&gt;" target="_blank">http://www.domain.com/abc.php?u=1&quot;&gt;&lt;/script&gt;</a>方式调用的JS代码或XML数据。<br/><br/>　　网卡流量：1.5M～3M/秒<br/><br/>　　请求数统计方式：从Nginx访问日志中，统计每分钟的第15秒共有多少条日志记录。<div class="quote"><div class="quote-title">引用</div><div class="quote-content">grep "25/Mar/2008:15:01:15" /data1/logs/nginx.log &#124; wc -l</div></div><br/><br/>　　<a href="http://blog.s135.com/attachment/200803/nginx_php_pv.png" target="_blank"><img src="http://blog.s135.com/attachment/200803/nginx_php_pv.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　服务器的系统负载也不算高：<br/><br/>　　<a href="http://blog.s135.com/attachment/200803/nginx_php_la.gif" target="_blank"><img src="http://blog.s135.com/attachment/200803/nginx_php_la.gif" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　总结：<br/>　　1、Nginx的处理能力超强，这块不是瓶颈。影响动态程序处理能力的因素主要在于PHP（FastCGI）。PHP（FastCGI）模式适用于执行时间较短的PHP程序，一般复杂的PHP程序执行时间应该在100ms以内，例如我的博客首页执行时间为38ms左右。假设一个PHP程序的执行时间为100ms，那么一个PHP（FastCGI）进程每秒可以处理完毕10个请求，300个FastCGI进程理论上每秒可以处理3000个请求。但是，在生产环境下，还将受到内存、系统负载等多方面的影响，例如300个PHP（FastCGI）进程需要占用2.4GB左右的内存，每秒处理超过1000个请求时，系统负载会飚升到100以上。因此，FastCGI的进程不是越多越好，而是够用就好。<br/><br/>　　2、使用PHP的XCache、APC等加速模块会提供速度10倍左右，降低系统负载50倍以上。<br/><br/>　　3、修改了spawn-fcgi，使它能够支持250个以上的FastCGI进程。<br/><br/>　　4、如果PHP直接对MySQL进行大量读写操作，速度是达不到“700 request/sec”的，PHP与MySQL之间需要一个中间层，这是关键的技术。<br/><br/>　　5、CPU的数量（多核算多个CPU，cat /proc/cpuinfo &#124;grep -c processor）越多，系统负载越低，每秒能处理的请求数也越多。<br/><br/>　　6、使用PHP 5.2.6RC2，因为它修正了PHP 5.2.5的“zend_mm_heap corrupted”错误BUG。PHP 5.2.5（FastCGI）在高并发请求情况下，经常会出现该错误。<br/><br/>　　7、有空我将写一篇针对CentOS Linux环境Nginx + PHP5（FastCGI）安装、配置的最新博文。<br/>Tags - <a href="tag.php?tag=linux" rel="tag">linux</a> , <a href="tag.php?tag=php" rel="tag">php</a> , <a href="tag.php?tag=mysql" rel="tag">mysql</a> , <a href="tag.php?tag=nginx" rel="tag">nginx</a> , <a href="tag.php?tag=xcache" rel="tag">xcache</a> , <a href="tag.php?tag=apc" rel="tag">apc</a> , <a href="tag.php?tag=fastcgi" rel="tag">fastcgi</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?333</link>
<title><![CDATA[准备结婚[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Wed, 12 Mar 2008 05:34:34 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?333</guid> 
<description>
<![CDATA[ 
	　　从2005年12月18日开始，我们的爱情如细水长流般，快乐而温馨。<br/><br/>　　工作已过一年，生活逐步稳定，<a href="read.php/258.htm" target="_blank">房子</a>咫尺在望。<br/><br/>　　准备结婚了，时间定在今年的5月2日，地点为我的老家湖南省<a href="http://www.xxz.gov.cn/" target="_blank">湘西自治州</a>古丈县，细节流程正在制定中......<br/><br/>　　<a href="http://blog.s135.com/attachment/200803/love.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200803/love.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/>Tags - <a href="tag.php?tag=%E7%88%B1%E6%83%85" rel="tag">爱情</a> , <a href="tag.php?tag=%E7%BB%93%E5%A9%9A" rel="tag">结婚</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?332</link>
<title><![CDATA[IE浏览器下同一网页多图片显示的瓶颈与优化[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Tue, 04 Mar 2008 10:57:33 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?332</guid> 
<description>
<![CDATA[ 
	　　Internet Explorer 浏览器在同一时刻只能从同一域名下载两个文件。<br/><br/>　　至于原因请见 MSDN Blogs：《<a href="http://blogs.msdn.com/ie/archive/2005/04/11/407189.aspx" target="_blank">Internet Explorer and Connection Limits</a>》，如何解除限制请见微软客户帮助与支持主页：《<a href="http://support.microsoft.com/kb/282402/zh-cn" target="_blank">如何将 Internet Explorer 配置为可以同时进行两个以上的下载会话</a>》。<br/><br/>　　不管 Firefox 有多火，无可否认，IE 仍然是浏览器市场的老大。所以，在做系统架构时，不得不去考虑 IE 同时只能从同一域名下载两个文件的限制。如果超过两个文件，IE 将会以队列形式等待两个文件下载完毕，再去下载接下来的两个文件。这样，当在一个页面显示多张图片时，IE 用户的图片下载速度就会受到影响。<br/><br/>　　百度、新浪、雅虎等网站采用了同一组图片服务器，使用多个二级域名的方式来解决这个问题。<br/><br/>　　通过 HttpWatch Professional 5.2.17 分析可以看出，百度的图片搜索采用了 t1.baidu.com ～ t8.baidu.com 八个域名来显示图片，消耗在 IE 浏览器端的 Blocked 时间小于0.001秒，非常快。<br/><br/>　　<a href="http://blog.s135.com/attachment/200803/img_baidu.png" target="_blank"><img src="http://blog.s135.com/attachment/200803/img_baidu.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/>　　新浪的图片 CDN 同样采用了 i0.sinaimg.cn ～ i3.sinaimg.cn 四个域名来显示图片，消耗在 IE 浏览器端的 Blocked 时间也是0.001秒。新浪采用独立的顶级域名 sinaimg.cn 而非 ***.sina.com.cn 域名作为图片服务器域名，还有一个好处，就是 sina.com.cn 域下的 Cookie 信息不会被带到 sinaimg.cn 域下，提高了图片服务器解析 header 头的速度。<br/><br/>　　<a href="http://blog.s135.com/attachment/200803/img_sina.png" target="_blank"><img src="http://blog.s135.com/attachment/200803/img_sina.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/>　　再看网易相册的一组图片服务器，只使用 pics.photo.163.com 一个域名，消耗在 IE 浏览器端的 Blocked 时间为0.647秒，就比较慢了。<br/><br/>　　<a href="http://blog.s135.com/attachment/200803/img_163.png" target="_blank"><img src="http://blog.s135.com/attachment/200803/img_163.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/>Tags - <a href="tag.php?tag=ie" rel="tag">ie</a> , <a href="tag.php?tag=%E6%B5%8F%E8%A7%88%E5%99%A8" rel="tag">浏览器</a> , <a href="tag.php?tag=%E6%9C%8D%E5%8A%A1%E5%99%A8" rel="tag">服务器</a> , <a href="tag.php?tag=%E5%9B%BE%E7%89%87" rel="tag">图片</a> , <a href="tag.php?tag=%E6%96%B0%E6%B5%AA" rel="tag">新浪</a> , <a href="tag.php?tag=%E7%99%BE%E5%BA%A6" rel="tag">百度</a> , <a href="tag.php?tag=%E7%BD%91%E6%98%93" rel="tag">网易</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?331</link>
<title><![CDATA[搬了家，与Micro$oft为邻[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Tue, 26 Feb 2008 01:28:00 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?331</guid> 
<description>
<![CDATA[ 
	　　2月24日，搬了家，离开了居住将近1年的福缘门。新租的房子在三元桥某居民小区的住宅楼第10层，放眼望去，微软(中国)有限公司所在地----盛世大厦上的“Microsoft”标志清晰地映入眼帘。<br/><br/>　　呵呵，在<a href="read.php/258.htm" target="_blank">买的期房</a>入住之前的这一年，我恐怕会经常在 Microsoft 的陪伴下，做着 Linux 的梦了。<br/><br/>　　<a href="http://blog.s135.com/attachment/200802/new_home.gif" target="_blank"><img src="http://blog.s135.com/attachment/200802/new_home.gif" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　<a href="http://blog.s135.com/attachment/200802/microsoft.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200802/microsoft.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/>Tags - <a href="tag.php?tag=%E4%B8%89%E5%85%83%E6%A1%A5" rel="tag">三元桥</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?330</link>
<title><![CDATA[一个分类搜集了众多开源软件官方网址的站点]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Sat, 23 Feb 2008 14:36:53 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?330</guid> 
<description>
<![CDATA[ 
	　　Links Collection of OpenSource Software<br/><br/>　　<a href="http://www.designandcommunication.co.jp/Nakano/" target="_blank">http://www.designandcommunication.co.jp/Nakano/</a><br/><br/>　　一个日本的网站，上面分类搜集了众多开源软件的官方网站地址。<br/><br/>　　例如：<br/>　　数据库类别：<a href="http://www.designandcommunication.co.jp/Nakano/Dev/Database.html" target="_blank">http://www.designandcommunication.co.jp/Nakano/Dev/Database.html</a><br/>　　HTTP服务器类别：<a href="http://www.designandcommunication.co.jp/Nakano/Net/HTTP.html" target="_blank">http://www.designandcommunication.co.jp/Nakano/Net/HTTP.html</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?329</link>
<title><![CDATA[dbcached──“分布式 key-value 数据库内存缓存系统”发布[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Mon, 18 Feb 2008 12:22:52 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?329</guid> 
<description>
<![CDATA[ 
	　　前言：dbcached 1.0 beta* 在 Memcached 1.2.4 的基础上编写而成，也是我的第一个开源C项目。编写 dbcached 的目的是为了最大限度的发挥 Memcached 内存缓存的优势，便捷地维护 Memcached 服务器节点哈希列表，智能地支持 Memcached 故障转移，同时保证数据的持久化存储。<br/><br/>　　<span style="font-size: 18px;">dbcached</span><br/><br/>　　协议：<a href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">New BSD License</a> <br/>　　作者：张宴<br/>　　网址：<a href="http://code.google.com/p/dbcached/" target="_blank">http://code.google.com/p/dbcached/</a><br/><br/>　　<span style="font-size: 14px;"><strong>dbcached 是什么?</strong></span><br/><br/>　　● dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。<br/><br/>　　● <strong>dbcached = Memcached + 持久化存储管理器 + NMDB 客户端接口</strong><br/><br/>　　● Memcached 是一款高性能的，分布式的内存对象缓存系统，用于在动态应用中减少数据库负载，提升访问速度。<br/><br/>　　● NMDB 是一款多协议网络数据库(dbm类)管理器，它由内存缓存和磁盘存储两部分构成，使用 QDBM 或 Berkeley DB 作为后端数据库。<br/><br/>　　● QDBM 是一个管理数据库的例程库，它参照 GDBM 为了下述三点而被开发：更高的处理速度，更小的数据库文件大小，和更简单的API。QDBM 读写速度比 Berkeley DB 要快，详细速度比较见《<a href="http://qdbm.sourceforge.net/benchmark.pdf" target="_blank">Report of Benchmark Test</a>》。 <br/><br/>　　<a href="http://code.google.com/p/dbcached/" target="_blank"><img src="attachment/200802/dbcached.gif" border="0"></a><br/><br/><br/>　　<span style="font-size: 14px;"><strong>Memcached 和 dbcached 在功能上一样吗?</strong></span><br/><br/>　　● 兼容：Memcached 能做的，dbcached 都能做。除此之外，dbcached 还将“Memcached、持久化存储管理器、NMDB 客户端接口”在一个程序中结合起来，对任何原有 Memcached 客户端来讲，dbcached 仍旧是个 Memcached 内存对象缓存系统，但是，它的数据可以持久存储到本机或其它服务器上的 QDBM 或 Berkeley DB 数据库中。<br/><br/>　　● 性能：前端 dbcached 的并发处理能力跟 Memcached 相同；后端 NMDB 跟 Memcached 一样，采用了libevent 进行网络IO处理，拥有自己的内存缓存机制，性能不相上下。<br/><br/>　　● 写入：当“dbcached 的 Memcached 部分”接收到一个 set(add/replace/...) 请求并储存 key-value 数据到内存中后，“dbcached 持久化存储管理器”能够将 key-value 数据通过“NMDB 客户端接口”保存到 QDBM 或 Berkeley DB 数据库中。<br/><br/>　　● 速度：如果加上“-z”参数，采用 UDP 协议“只发送不接收”模式将 set(add/replace/...) 命令写入的数据传递给 NMDB 服务器端，对 Memcache 客户端写速度的影响几乎可以忽略不计。在千兆网卡、同一交换机下服务器之间的 UDP 传输丢包率微乎其微。在命中的情况下，读取数据的速度跟普通的 Memcached 无差别，速度一样快。<br/><br/>　　● 读取：当“dbcached 的 Memcached 部分”接收到一个 get(incr/decr/...) 请求后，如果“dbcached 的 Memcached 部分”查询自身的内存缓存未命中，则“dbcached 持久化存储管理器”会通过“NMDB 客户端接口”从 QDBM 或 Berkeley DB 数据库中取出数据，返回给用户，然后储存到 Memcached 内存中。如果有用户再次请求这个 key，则会直接从 Memcached 内存中返回 Value 值。<br/><br/>　　● 持久：使用 dbcached，不用担心 Memcached 服务器死机、重启而导致数据丢失。<br/><br/>　　● 变更：使用 dbcached，即使因为故障转移，添加、减少 Memcached 服务器节点而破坏了“key 信息”与对应“Memcached 服务器”的映射关系也不怕。<br/><br/>　　● 分布：dbcached 和 NMDB 既可以安装在同一台服务器上，也可以安装在不同的服务器上，多台 dbcached 服务器可以对应一台 NMDB 服务器。<br/><br/>　　● 特长：dbcached 对于“读”大于“写”的应用尤其适用。 <br/><br/><br/>　　<span style="font-size: 14px;"><strong>1. dbcached</strong></span><br/><br/>　　<strong>Installation (安装)</strong><div class="quote"><div class="quote-title">引用</div><div class="quote-content">wget <a href="http://www.monkey.org/~provos/libevent-1.3e.tar.gz" target="_blank">http://www.monkey.org/~provos/libevent-1.3e.tar.gz</a><br/>tar zxvf libevent-1.3e.tar.gz<br/>cd libevent-1.3e/<br/>./configure --prefix=/usr<br/>make && make install<br/>cd ../<br/><br/>wget <a href="http://dbcached.googlecode.com/files/dbcached-1.0.beta2.tar.gz" target="_blank">http://dbcached.googlecode.com/files/dbcached-1.0.beta2.tar.gz</a><br/>tar zxvf dbcached-1.0.beta2.tar.gz<br/>cd dbcached-1.0.beta2/<br/>./configure --prefix=/usr/local/dbcached --with-libevent=/usr<br/>make && make install<br/>cd ../</div></div><br/><br/>　　<strong>Run as a daemon (作为守护进程运行)</strong><div class="quote"><div class="quote-title">引用</div><div class="quote-content">/usr/local/dbcached/bin/memcached -d -m 256 -p 11211 -c 51200 -u nobody -x 192.168.0.2 -y 26010 -z 26010</div></div><br/><br/>　　● -x <IP地址> nmdb 服务器的域名或者IP地址，推荐使用IP地址 <br/><br/>　　● -y <端口号> nmdb 服务器的TCP端口号 (默认: 26010) 支持 set/delete/... 等写命令 和 get 等读命令 <br/><br/>　　● -z <端口号> nmdb 服务器的UDP端口号 (默认: 26010) 只支持 get 等都命令, 当使用 -z 参数时，将使用 UDP 协议代替 TCP 协议执行 set 操作，执行 get 操作时仍然使用 TCP 协议。强烈推荐加上 -z 参数。 <br/>　　● 其他参数跟 memcached 1.2.4 完全一样，就不再详细说明。<br/><br/>　　● 如果想让 dbcached 通过 NMDB 保存数据时采用 TCP 协议，去掉 -z 参数即可，例如：(除非因防火墙、NAT穿透等问题导致 UDP 协议不可用，否则不建议使用 TCP 协议)<div class="quote"><div class="quote-title">引用</div><div class="quote-content">/usr/local/dbcached/bin/memcached -d -m 256 -p 11211 -c 51200 -u nobody -x 192.168.0.2 -y 26010</div></div><br/><br/>　　● 如果想让 dbcached 作为普通的 Memcached 运行，去掉 -x、-y、-z 参数即可，例如：<div class="quote"><div class="quote-title">引用</div><div class="quote-content">/usr/local/dbcached/bin/memcached -d -m 256 -p 11211 -c 51200 -u nobody</div></div><br/><br/><br/>　　<span style="font-size: 14px;"><strong>2. QDBM & NMDB</strong></span><br/><br/>　　QDBM 和 NMDB 均为原版，可以从它们的官方网站下载最新版本。<br/><br/>　　<strong>QDBM Installation (安装)</strong><div class="quote"><div class="quote-title">引用</div><div class="quote-content">wget <a href="http://qdbm.sourceforge.net/qdbm-1.8.77.tar.gz" target="_blank">http://qdbm.sourceforge.net/qdbm-1.8.77.tar.gz</a><br/>tar zxvf qdbm-1.8.77.tar.gz<br/>cd qdbm-1.8.77/<br/>./configure --prefix=/usr<br/>make<br/>make install<br/>cd ../</div></div><br/><br/>　　<strong>NMDB Installation (安装)</strong><div class="quote"><div class="quote-title">引用</div><div class="quote-content">wget <a href="http://www.monkey.org/~provos/libevent-1.3e.tar.gz" target="_blank">http://www.monkey.org/~provos/libevent-1.3e.tar.gz</a><br/>tar zxvf libevent-1.3e.tar.gz<br/>cd libevent-1.3e/<br/>./configure --prefix=/usr<br/>make && make install<br/>cd ../<br/><br/>wget <a href="http://auriga.wearlab.de/~alb/nmdb/files/0.21/nmdb-0.21.tar.gz" target="_blank">http://auriga.wearlab.de/~alb/nmdb/files/0.21/nmdb-0.21.tar.gz</a><br/>tar zxvf nmdb-0.21.tar.gz<br/>cd nmdb-0.21/<br/>make BACKEND=qdbm ENABLE_TIPC=0 ENABLE_SCTP=0 install<br/>cd ../</div></div><br/><br/>　　<strong>Run as a daemon (作为守护进程运行)</strong><div class="quote"><div class="quote-title">引用</div><div class="quote-content">/usr/local/bin/nmdb -d /var/dbcached.db -t 26010 -T 192.168.0.2 -u 26010 -U 192.168.0.2 -c 1024</div></div><br/>　　● -d <dbpath> 数据库路径(这里使用比 Berkeley DB 更快的 QDBM 数据库)，例如 /var/dbcached.db <br/><br/>　　● -t <port> TCP 监听端口 (默认：26010) <br/><br/>　　● -T <addr> TCP 监听地址 (默认：任何地址) <br/><br/>　　● -u <port> UDP 监听端口 (默认：26010) <br/><br/>　　● -U <addr> UDP 监听地址 (默认：任何地址) <br/><br/>　　● -c <nobj> 最大的缓存对象数目，单位为千 (默认：128) <br/><br/><br/><br/><br/>Tags - <a href="tag.php?tag=linux" rel="tag">linux</a> , <a href="tag.php?tag=memcached" rel="tag">memcached</a> , <a href="tag.php?tag=memcache" rel="tag">memcache</a> , <a href="tag.php?tag=dbcached" rel="tag">dbcached</a> , <a href="tag.php?tag=nmdb" rel="tag">nmdb</a> , <a href="tag.php?tag=qdbm" rel="tag">qdbm</a> , <a href="tag.php?tag=memcachedb" rel="tag">memcachedb</a> , <a href="tag.php?tag=php" rel="tag">php</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?328</link>
<title><![CDATA[年关时分[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[生活琐事]]></category>
<pubDate>Fri, 01 Feb 2008 14:39:47 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?328</guid> 
<description>
<![CDATA[ 
	　　年关将近，最近真够忙的。边查找解决服务器故障，边用C语言写“Memcached→MySQL”关联程序，边用PHP做删除黄色图片及更新Cache的接口程序，边弄异地IDC数据同步测试，边讨论年后的新架构，时不时的还有一些多多少少的新需求进来。明天恐怕还得当一回画家，绘出新的系统架构图。<br/><br/>　　湖南千里冰封，人车难行，北京游子如织，一票难求。<br/><br/>　　昨天为线上一组Nginx+PHP服务器的PHP5.2.5(FastCGI)加上了<a href="http://xcache.lighttpd.net/" target="_blank">xcache</a>，增大php-cgi进程数为250，系统负载马上降下来了，维持在1左右，访问速度提高不少。<br/><br/>　　确定PHP5.2.5(FastCGI)进程数是否够用的方法：<div class="quote"><div class="quote-title">引用</div><div class="quote-content">netstat -anpo &#124; grep php-cgi &#124; wc -l</div></div>　　可以统计出当前正在处理请求的FastCGI进程数，如果等于或接近开启的FastCGI进程总数，则不够用，需要优化程序或加大进程数。<br/><br/>　　1月30日参加了新浪年会，开始节目精彩，但后来恶搞过多，则乏味了，而且sohu听了会很生气。<br/>　　同事拍摄的年会照片：<a href="http://photo.sina.com.cn/list/photo_s.php?uid=1400314314&ctg_id=99798&page=1" target="_blank">http://photo.sina.com.cn/list/photo_s.php?uid=1400314314&ctg_id=99798&page=1</a><br/>　　年会视频：<a href="http://you.video.sina.com.cn/pg/topicdetail/topicPlay.php?tid=1534667&uid=1244293405#11508575" target="_blank">http://you.video.sina.com.cn/pg/topicdetail/topicPlay.php?tid=1534667&uid=1244293405#11508575</a><br/><br/>　　被评为“2007年度新浪互动社区事业部优秀员工”，截图一张。要写“获奖感言”的朋友，可以改改，或许能用得上，免得费时间去搜了。<br/><br/>　　<a href="http://blog.s135.com/attachment/200802/2007yxyg.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200802/2007yxyg.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?327</link>
<title><![CDATA[Nginx versus Apache (两者的对比)]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Mon, 28 Jan 2008 01:25:26 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?327</guid> 
<description>
<![CDATA[ 
	　　这段视频在技术上对Nginx和Apache进行了比较，给出了一些如何让两者结合使用的例子。<br/><br/><br/>此处包含一个多媒体文件，请用网页方式查看。<br/><br/><br/>Tags - <a href="tag.php?tag=nginx" rel="tag">nginx</a> , <a href="tag.php?tag=apache" rel="tag">apache</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?323</link>
<title><![CDATA[工作一周年纪念[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Fri, 25 Jan 2008 09:12:04 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?323</guid> 
<description>
<![CDATA[ 
	　　2007年1月20日，离开武汉；<br/>　　2007年1月21日，抵达北京；<br/>　　2007年1月23日，新浪面试；<br/>　　2007年1月25日，到岗工作。<br/><br/>　　待续......
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?322</link>
<title><![CDATA[又一个新浪UNIX开源软件项目──xbayDNS]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Mon, 21 Jan 2008 13:52:41 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?322</guid> 
<description>
<![CDATA[ 
	　　<strong><span style="font-size: 14px;">xbayDNS</span></strong><br/><br/>　　协议：<a href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">New BSD License</a> <br/>　　作者：huangdong<br/>　　团队：新浪研发中心──系统研发<br/>　　网址：<a href="http://code.google.com/p/xbaydns/" target="_blank">http://code.google.com/p/xbaydns/</a><br/><br/>　　xBayDNS是一个基于Web的BIND 9管理界面。与通常我们所知道的管理界面所不同的是，它尽可能的将DNS的管理简化，并帮助用户建立起一个容易管理、维护、扩展的DNS系统。<br/><br/>　　一个普通的DNS服器可以提供域名的解析、代理、缓存这样的服务。我们期望DNS不但是一个服务，它更应该承担起GSLB、用户访问加速这样的任务。而在现实的环境中，应用DNS已经能够很好的完成这样的工作。所以沿着从前的经历，我们启动了xBayDNS这个项目，它的目的是让DNS服务在承担着GSLB和访问加速这样的工作时更容易管理。做为xBayDNS附加的礼物，也可以从中学到如何形成一个基于DNS的GSLB和用户访问加速的原理。<br/><br/>　　xBayDNS的特性如下：<br/>　　• 基于Web的BIND管理<br/>　　• 非常容易的支持多种操作系统（现有我们考虑支持的就有FreeBSD、OpenBSD、MacOSX、Linux）<br/>　　• 支持ACL、View、TSIG这样的BIND高级管理功能<br/><br/>　　什么时候使用xBayDNS？<br/>　　• 你需要简单的管理一台BIND的DNS服务器<br/>　　• 你需要多台DNS服务器来为你的用户提供解晰服务<br/>　　• 一套基于DNS的GSLB系统<br/>　　• 一套基于DNS的分布式GSLB系统<br/>　　• 你需要维护多台分布式的服务器<br/><br/>　　安装：<br/><br/>　　xBayDNS需要以下软件：<br/>　　• BIND （>9.4.1）<br/>　　• Django （0.96.1）<br/>　　• dnspython （1.6）<br/>　　• python（2.5）<br/>　　• setuptool<br/><br/>　　1、安装xbaydns基础系统<br/>　　下载xbaydnsx.x.tar.gz，将它解压，执行安装脚本：<br/>　　python setup.py install<br/>　　它将会把xbaydns的基础系统安装到你的操作系统中。<br/><br/>　　2、初始化BIND配置<br/>　　执行xbdinit，它会初始化操作系统中的BIND相关配置。对于不同操作系统，我们还需要你自己确认操作系统的BIND的启动设备：<br/><br/>　　FreeBSD<br/>　　/etc/rc.conf中设置了 named_enable="YES"你可以使用<br/>　　/etc/rc.d/named restart<br/>　　了解是不是能正常启动bind。<br/><br/>　　Mac OSX 10.5<br/>　　使用launchctl &nbsp;load了org.isc.named的job。你可以使用<br/>　　service org.isc.named stop<br/>　　service org.isc.named start<br/>　　了解是不是能正常启动bind。<br/><br/>　　3、启动xBayDNS WebAdmin<br/>　　在解开的包中有一个目录叫xbaydnsweb，在其中有全套的web系统，安装好Django后，到这个目录中执行：<br/>　　python manage.py runserver<br/>　　缺省的，登录管理系统的帐号为admin，它的密码也是admin。<br/><br/>　　4、将xBayDNS的sync加入crontab中<br/>　　你希望用户增加的域名多久生效就在crontab中设置多久运行一次，运行这个sync脚本需要root权限，脚本为<br/>　　xbdsync<br/>　　它通常在/usr/local/bin中<br/><br/>Tags - <a href="tag.php?tag=linux" rel="tag">linux</a> , <a href="tag.php?tag=dns" rel="tag">dns</a> , <a href="tag.php?tag=bind" rel="tag">bind</a> , <a href="tag.php?tag=freebsd" rel="tag">freebsd</a>
]]>
</description>
</item><item>
<link>http://blog.s135.com/read.php?320</link>
<title><![CDATA[新浪发起的UNIX开源软件项目]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[纯粹技术]]></category>
<pubDate>Thu, 10 Jan 2008 00:45:14 +0000</pubDate> 
<guid>http://blog.s135.com/read.php?320</guid> 
<description>
<![CDATA[ 
	　　<strong><span style="font-size: 14px;">Memcachedb</span></strong><br/><br/>　　协议：<a href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">New BSD License</a> <br/>　　作者：stvchu, gary.caokai, forever.sky81 <br/>　　团队：新浪互动社区事业部──博客产品<br/>　　网址：<a href="http://code.google.com/p/memcachedb/" target="_blank">http://code.google.com/p/memcachedb/</a><br/><br/>　　Memcachedb = memcache + Berkeley DB<br/><br/>　　Memcachedb是一款支持高并发的分布式持久存储系统，对任何原有memcached客户端来讲，它仍旧是个memcached，但是，它的数据是可以持久存储的。<br/>　　前端：memcached的网络层<br/>　　后端：Berkeley DB存储<br/><br/>　　写速度：从本地服务器通过memcache客户端（libmemcache） set 2亿条16字节长的key，10字节长的Value的记录，耗时16572秒，平均速度12000条记录/秒。<br/>　　读速度：从本地服务器通过memcache客户端（libmemcache） get 100万条16字节长的key，10字节长的Value的记录，耗时103秒，平均速度10000条记录/秒。<br/><br/>　　• 支持的memcache命令<br/>　　get, set, add, replace <br/>　　incr, decr <br/>　　delete <br/>　　stats <br/>　　flush_all <br/><br/>　　• 私有命令<br/>　　db_checkpoint, db_archive <br/>　　db_ismaster, db_whoismaster (for replication) <br/><br/>　　编译及安装方法：<br/>　　<a href="http://blog.csdn.net/simonlsy/archive/2008/01/07/2027940.aspx" target="_blank">http://blog.csdn.net/simonlsy/archive/2008/01/07/2027940.aspx</a><br/><br/>　　<a href="http://blog.s135.com/attachment/200801/memcachedb.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/memcachedb.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><hr/><br/>　　<strong><span style="font-size: 14px;">ncache</span></strong><br/><br/>　　协议：<a href="http://www.opensource.org/licenses/bsd-license.php" target="_blank">New BSD License</a> <br/>　　作者：shinepf, shuiyang<br/>　　团队：新浪互动社区事业部──博客产品<br/>　　网址：<a href="http://code.google.com/p/ncache/" target="_blank">http://code.google.com/p/ncache/</a><br/><br/>　　ncache是一款基于nginx的缓存系统，比Squid更快更高效。<br/><br/>　　01<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache01.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache01.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　02<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache02.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache02.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　03<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache03.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache03.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　04<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache04.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache04.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　05<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache05.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache05.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　06<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache06.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache06.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　07<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache07.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache07.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　08<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache08.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache08.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　09<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache09.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache09.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　10<br/>　　<a href="http://blog.s135.com/attachment/200801/ncache10.jpg" target="_blank"><img src="http://blog.s135.com/attachment/200801/ncache10.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　以上图片来自PPT：<a href="http://ncache.googlecode.com/files/ncache.ppt" target="_blank">http://ncache.googlecode.com/files/ncache.ppt</a><br/><br/><br/>Tags - <a href="tag.php?tag=linux" rel="tag">linux</a> , <a href="tag.php?tag=cache" rel="tag">cache</a> , <a href="tag.php?tag=nginx" rel="tag">nginx</a> , <a href="tag.php?tag=tcp" rel="tag">tcp</a> , <a href="tag.php?tag=memcached" rel="tag">memcached</a> , <a href="tag.php?tag=memcachedb" rel="tag">memcachedb</a> , <a href="tag.php?tag=ncache" rel="tag">ncache</a> , <a href="tag.php?tag=epoll" rel="tag">epoll</a>
]]>
</description>
</item>
</channel>
</rss>