<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" 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/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/xds2000" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/xds2000" type="application/rss+xml"></fs:self_link><lastBuildDate>Thu, 18 Sep 2008 09:57:49 GMT</lastBuildDate><title>Coder,肖德时的个人BLOG</title><description>I'm a Coder!</description><image><url>http://www.feedsky.com/feed/xds2000/sc/gif</url><title>Coder,肖德时的个人BLOG</title><link>http://coderchina.72pines.com</link></image><link>http://coderchina.72pines.com</link><language>en</language><pubDate>Thu, 18 Sep 2008 09:57:49 GMT</pubDate><item><title>awstats如何配置，想玩转它就看这里！</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747616/5084484/1/item.html</link><content:encoded>&lt;p&gt;&lt;img src=&quot;http://www.virginiabroadband.ie/support/hosting/reseller/screenshots/awstats.gif&quot; width=&quot;184&quot; height=&quot;125&quot; /&gt; &lt;/p&gt;
&lt;p&gt;我想awstats这一日志统计工具，应该很多站长都玩过。这里有&lt;a href=&quot;http://www.chedong.com/tech/awstats.html&quot;&gt;车东的awstats&lt;/a&gt;文档可参考配置。我的习惯是下最新的用，之前没有用过，所以在测试环境多配置了几次后，对一些不明白的地方有了一些认识。经验嘛，分享之。不足之处，还请各位大仙斧正。&lt;/p&gt;
&lt;p&gt;1、安装没有什么技巧，当然车东提供的一个配置方式可以拿来用用，:-)   &lt;br /&gt;这里默认配置目录为：/etc/awstats&lt;/p&gt;
&lt;p&gt;你先把awstats-6.9/wwwroot/cgi-bin/awstats.model.conf复制到/etc/awstats下，重命名为common.conf，随后的操作参考车东文档即可。&lt;/p&gt;
&lt;p&gt;2、日志的格式，这是新手遇到问题最多的地方，或者说我自个吧。老是提示什么格式不对。或者出现只收录bad record记录。咱最终的目标是收到new record，才算搞定这些。   &lt;br /&gt;别急，这里我再提供一份完整的参考，并且保证有效。    &lt;br /&gt;我拿流行的nginx日志来配置：&lt;/p&gt;
&lt;p&gt;nginx.conf里：   &lt;br /&gt;log_format&amp;#160; main&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#8216;$remote_addr - [$time_local] &amp;quot;$request&amp;quot; &amp;#8216;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#8216;$status $body_bytes_sent &amp;quot;$http_referer&amp;quot; &amp;#8216;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#8216;&amp;quot;$http_user_agent&amp;quot; $http_x_forwarded_for&amp;#8217;;&lt;/p&gt;
&lt;p&gt;其实就是默认值。然后在awstats.你的域名.conf里配置如下：   &lt;br /&gt;LogFormat = &amp;quot;%host - %time1 %methodurl %code %bytesd %refererquot %uaquot&amp;quot;&lt;/p&gt;
&lt;p&gt;注意：默认awstats是以空格为分隔，所以错误发生的原因只有两条：要么少空格，要么字段顺序不对。睁大眼睛看看。其中$http_x_forwarded_for在awstats没有对应值，这里我提出来，需要细研究才知此标识有没有用处。有人把$http_x_forwarded_for去掉了，也没有问题，照样可以生成日志。&lt;/p&gt;
&lt;p&gt;参考url：   &lt;br /&gt;&lt;a title=&quot;http://www.chedong.com/tech/awstats.html&quot; href=&quot;http://www.chedong.com/tech/awstats.html&quot;&gt;http://www.chedong.com/tech/awstats.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;http://www.dbanotes.net/techmemo/nginx_awstats_fastcgi_for_perl.html&quot; href=&quot;http://www.dbanotes.net/techmemo/nginx_awstats_fastcgi_for_perl.html&quot;&gt;http://www.dbanotes.net/techmemo/nginx_awstats_fastcgi_for_perl.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;http://www.php-oa.com/category/awstats%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90&quot; href=&quot;http://www.php-oa.com/category/awstats%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90&quot;&gt;http://www.php-oa.com/category/awstats%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/09/18/awstats%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%ef%bc%8c%e6%83%b3%e7%8e%a9%e8%bd%ac%e5%ae%83%e5%b0%b1%e7%9c%8b%e8%bf%99%e9%87%8c%ef%bc%81/feed/</wfw:commentRss><description>我想awstats这一日志统计工具，应该很多站长都玩过。这里有车东的awstats文档可参考配置。我的习惯是下最新的用，之前没有用过，所以在测试环境多配置了几次后，对一些不明白的地方有了一些认识。经验嘛，分享之。不足之处，还请各位大仙斧正。
1、安装没有什么技巧，当然车东提供的一个配置方式可以拿来用用，:-)   这里默认配置目录为：/etc/awstats
你先把awstats-6.9/wwwroot/cgi-bin/awstats.model.conf复制到/etc/awstats下，重命名为common.conf，随后的操作参考车东文档即可。
2、日志的格式，这是新手遇到问题最多的地方，或者说我自个吧。老是提示什么格式不对。或者出现只收录bad record记录。咱最终的目标是收到new record，才算搞定这些。   别急，这里我再提供一份完整的参考，并且保证有效。    我拿流行的nginx日志来配置：
nginx.conf里：   log_format&amp;#160; main&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#8216;$remote_addr - [$time_local] &amp;#34;$request&amp;#34; &amp;#8216;    &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#8216;$status $body_bytes_sent &amp;#34;$http_referer&amp;#34; &amp;#8216;    &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#8216;&amp;#34;$http_user_agent&amp;#34; $http_x_forwarded_for&amp;#8217;;
其实就是默认值。然后在awstats.你的域名.conf里配置如下：   LogFormat = &amp;#34;%host - %time1 %methodurl %code %bytesd %refererquot %uaquot&amp;#34;
注意：默认awstats是以空格为分隔，所以错误发生的原因只有两条：要么少空格，要么字段顺序不对。睁大眼睛看看。其中$http_x_forwarded_for在awstats没有对应值，这里我提出来，需要细研究才知此标识有没有用处。有人把$http_x_forwarded_for去掉了，也没有问题，照样可以生成日志。
参考url：   http://www.chedong.com/tech/awstats.html
http://www.dbanotes.net/techmemo/nginx_awstats_fastcgi_for_perl.html
http://www.php-oa.com/category/awstats%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90</description><category>Tips</category><pubDate>Thu, 18 Sep 2008 17:57:49 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/09/18/awstats%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%ef%bc%8c%e6%83%b3%e7%8e%a9%e8%bd%ac%e5%ae%83%e5%b0%b1%e7%9c%8b%e8%bf%99%e9%87%8c%ef%bc%81/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/09/18/awstats%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%ef%bc%8c%e6%83%b3%e7%8e%a9%e8%bd%ac%e5%ae%83%e5%b0%b1%e7%9c%8b%e8%bf%99%e9%87%8c%ef%bc%81/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/09/18/awstats%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%ef%bc%8c%e6%83%b3%e7%8e%a9%e8%bd%ac%e5%ae%83%e5%b0%b1%e7%9c%8b%e8%bf%99%e9%87%8c%ef%bc%81/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747616/5084484</fs:itemid></item><item><title>高性能环境下对HA,Cluster,Load Balance的理解(Final)</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747617/5084484/1/item.html</link><content:encoded>&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 其实这些技术术语已经在我的口上挂了N(N&amp;gt;5)年，但我还是不太明白这其中的细节。昨日晚上感觉很热，无法入睡。这脑子也在不断的研磨着这些术语的理解，想着今天上班后，使用&lt;a href=&quot;http://en.wikipedia.org&quot;&gt;维基&lt;/a&gt;来验证一些最基本的计算机概念。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 今天细看了之后，还是有些收获。Cluster分为HA Cluster,LB Cluster。在我实践中，LB Cluster的技术用的比例高，HA的成本是需要考虑的。有些朋友可能会实现成HA Cluster基础之上，把这个Node看成一台Server，然后在此基础之上再作LB。    &lt;br /&gt;&lt;font color=&quot;#c0c0c0&quot;&gt;&lt;strike&gt;我现在要去部署应用，等有时候再延续这篇BLOG..       &lt;br /&gt;&lt;/strike&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;继续写:     &lt;br /&gt;不管是HA,还是LB形式的Cluster，维护成本是极大的成本。所以Grid Computing是必然之路。换个术语&amp;#8220;云计算&amp;#8221;我估计也是这个范畴里的东西。因为涉及的技术我没有了解过，也没有体验过，不发表意见。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 换一个，我提供一个对Cluster的理解，在架构Cluster的时候，应该关注应用层的复印，对于数据库（比如数据库）使用Cluster获得的收益是很小的，在现有的关系型数据库模型下，单Instance的数据库仍然是王道模式。想获得数据的性能提升，通过数据分片，拆表，分割等技术，已经可以有足够的机会获得所在环境中的数据高性能。     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 而在考虑应用性能时，通过冗余复制实现数据吞吐量的LB是比较理想的，原始的，又是行之有效的方法。毕竟现在的硬件已经很便宜了。这里又引出另一个话题：那就是作为工程师，是不是应该滥用硬件来解决软件性能问题。因是题外话，点到为止。      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 另外，现在还有另一种技术，就是Cache，分布式的Cache技术类如Memchache等，已经开始在互联网中广泛应用，因为还没有详细理解，所以也不发表意见。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 总结：在尽可能的情况下使用Cluster，注意拒绝滥用硬件的陋习。在优化软件结构之后，再去考虑高性能。Over!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;参考：    &lt;br /&gt;1.&lt;a href=&quot;http://en.wikipedia.org/wiki/Cluster_(computing)&quot;&gt;Cluster (computing)&lt;/a&gt;     &lt;br /&gt;2.&lt;a href=&quot;http://en.wikipedia.org/wiki/Load_balancing_(computing)&quot;&gt;Load balancing (computing)&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/08/26/%e9%ab%98%e6%80%a7%e8%83%bd%e7%8e%af%e5%a2%83%e4%b8%8b%e5%af%b9haclusterload-balance%e7%9a%84%e7%90%86%e8%a7%a3/feed/</wfw:commentRss><description>&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 其实这些技术术语已经在我的口上挂了N(N&amp;#62;5)年，但我还是不太明白这其中的细节。昨日晚上感觉很热，无法入睡。这脑子也在不断的研磨着这些术语的理解，想着今天上班后，使用维基来验证一些最基本的计算机概念。
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 今天细看了之后，还是有些收获。Cluster分为HA Cluster,LB Cluster。在我实践中，LB Cluster的技术用的比例高，HA的成本是需要考虑的。有些朋友可能会实现成HA Cluster基础之上，把这个Node看成一台Server，然后在此基础之上再作LB。    我现在要去部署应用，等有时候再延续这篇BLOG..       继续写:     不管是HA,还是LB形式的Cluster，维护成本是极大的成本。所以Grid Computing是必然之路。换个术语&amp;#8220;云计算&amp;#8221;我估计也是这个范畴里的东西。因为涉及的技术我没有了解过，也没有体验过，不发表意见。
&amp;#160;&amp;#160;&amp;#160;&amp;#160; 换一个，我提供一个对Cluster的理解，在架构Cluster的时候，应该关注应用层的复印，对于数据库（比如数据库）使用Cluster获得的收益是很小的，在现有的关系型数据库模型下，单Instance的数据库仍然是王道模式。想获得数据的性能提升，通过数据分片，拆表，分割等技术，已经可以有足够的机会获得所在环境中的数据高性能。     &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 而在考虑应用性能时，通过冗余复制实现数据吞吐量的LB是比较理想的，原始的，又是行之有效的方法。毕竟现在的硬件已经很便宜了。这里又引出另一个话题：那就是作为工程师，是不是应该滥用硬件来解决软件性能问题。因是题外话，点到为止。      &amp;#160;&amp;#160;&amp;#160;&amp;#160; 另外，现在还有另一种技术，就是Cache，分布式的Cache技术类如Memchache等，已经开始在互联网中广泛应用，因为还没有详细理解，所以也不发表意见。
&amp;#160;&amp;#160;&amp;#160;&amp;#160; 总结：在尽可能的情况下使用Cluster，注意拒绝滥用硬件的陋习。在优化软件结构之后，再去考虑高性能。Over!
参考：    1.Cluster (computing)     2.Load balancing (computing)</description><category>High Performance Tech</category><pubDate>Tue, 26 Aug 2008 14:39:11 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/08/26/%e9%ab%98%e6%80%a7%e8%83%bd%e7%8e%af%e5%a2%83%e4%b8%8b%e5%af%b9haclusterload-balance%e7%9a%84%e7%90%86%e8%a7%a3/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/08/26/%e9%ab%98%e6%80%a7%e8%83%bd%e7%8e%af%e5%a2%83%e4%b8%8b%e5%af%b9haclusterload-balance%e7%9a%84%e7%90%86%e8%a7%a3/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/08/26/%e9%ab%98%e6%80%a7%e8%83%bd%e7%8e%af%e5%a2%83%e4%b8%8b%e5%af%b9haclusterload-balance%e7%9a%84%e7%90%86%e8%a7%a3/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747617/5084484</fs:itemid></item><item><title>Reverse Proxy Server在高性能应用环境的思考</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747618/5084484/1/item.html</link><content:encoded>&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 高性能场景下，通过有限的硬件及软件资源获得满意的处理量，是每一位系统运维人员的梦想。恰逢我正在应对这方面的场景，并正好需要处理并伴随它一起走过这段时期，记录下来也算对以后的回忆。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 在国内网站的部署上，我们应在有条件的环境下部署apache,lighty,nginx等frontend web，目的两条：&lt;/p&gt;
&lt;p&gt;1、提交请求吞吐量。   &lt;br /&gt;有人感觉apache不成，没问题，你使用lightty,Nginx都可以，网上参考也多。这里最关键的问题是如何部署管理网站的日志。有点头疼。&lt;/p&gt;
&lt;p&gt;2、静态，动态分流处理   &lt;br /&gt;动态的处理能力靠的是硬件+算法，算法不成，硬件更不成，就要考虑分布式处理。前端Server都有load balancing的配置技巧，网上搜索一下即可。&lt;/p&gt;
&lt;p&gt;应用层这里，因为有java，rubyonrail,python,php之分，我本身也不是熟知这些技术，也不乱说。&lt;/p&gt;
&lt;p&gt;后端数据层：&lt;/p&gt;
&lt;p&gt;Mysql，首选，参考文章很多。配置参数的搞优，我认为一定要搞明白是整么回事再调整。别以为参考各位大虾一样，安装一个64bit OS就OK了。这mysql Replication的场景有没有应用到。备份的操作有没有考虑周全。如果还要考虑HA高可用性，那如何处理？&lt;/p&gt;
&lt;p&gt;监控：   &lt;br /&gt;我们的目标，是没有不被监控的服务应用。nagios和Cacti。也可能还有其它工具，但无一例处是减少工程师的工作量，让工作都能automate下去。这样工程师能端着茶边歇边监控才是王道（说的轻松，操作起来是需要积累的）。&lt;/p&gt;
&lt;p&gt;还有一个不成文的使命：&lt;/p&gt;
&lt;p&gt;就是用最有限的机器数量完成最大的任务吞吐量。这是每一位工程师需要注意并细心考虑实现的目标。&lt;/p&gt;
&lt;p&gt;参考：   &lt;br /&gt;1.&lt;a title=&quot;http://blog.kovyrin.net/2006/05/18/nginx-as-reverse-proxy/&quot; href=&quot;http://blog.kovyrin.net/2006/05/18/nginx-as-reverse-proxy/&quot;&gt;http://blog.kovyrin.net/2006/05/18/nginx-as-reverse-proxy/&lt;/a&gt;    &lt;br /&gt;2.&lt;a title=&quot;http://www.igvita.com/2007/10/10/hands-on-mysql-backup-migration/&quot; href=&quot;http://www.igvita.com/2007/10/10/hands-on-mysql-backup-migration/&quot;&gt;http://www.igvita.com/2007/10/10/hands-on-mysql-backup-migration/&lt;/a&gt;    &lt;br /&gt;3.&lt;a title=&quot;http://www.howtoforge.com/mysql_database_replication&quot; href=&quot;http://www.howtoforge.com/mysql_database_replication&quot;&gt;http://www.howtoforge.com/mysql_database_replication&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/08/19/reverse-proxy-server%e5%9c%a8%e9%ab%98%e6%80%a7%e8%83%bd%e5%ba%94%e7%94%a8%e7%8e%af%e5%a2%83%e7%9a%84%e6%80%9d%e8%80%83/feed/</wfw:commentRss><description>&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 高性能场景下，通过有限的硬件及软件资源获得满意的处理量，是每一位系统运维人员的梦想。恰逢我正在应对这方面的场景，并正好需要处理并伴随它一起走过这段时期，记录下来也算对以后的回忆。
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 在国内网站的部署上，我们应在有条件的环境下部署apache,lighty,nginx等frontend web，目的两条：
1、提交请求吞吐量。   有人感觉apache不成，没问题，你使用lightty,Nginx都可以，网上参考也多。这里最关键的问题是如何部署管理网站的日志。有点头疼。
2、静态，动态分流处理   动态的处理能力靠的是硬件+算法，算法不成，硬件更不成，就要考虑分布式处理。前端Server都有load balancing的配置技巧，网上搜索一下即可。
应用层这里，因为有java，rubyonrail,python,php之分，我本身也不是熟知这些技术，也不乱说。
后端数据层：
Mysql，首选，参考文章很多。配置参数的搞优，我认为一定要搞明白是整么回事再调整。别以为参考各位大虾一样，安装一个64bit OS就OK了。这mysql Replication的场景有没有应用到。备份的操作有没有考虑周全。如果还要考虑HA高可用性，那如何处理？
监控：   我们的目标，是没有不被监控的服务应用。nagios和Cacti。也可能还有其它工具，但无一例处是减少工程师的工作量，让工作都能automate下去。这样工程师能端着茶边歇边监控才是王道（说的轻松，操作起来是需要积累的）。
还有一个不成文的使命：
就是用最有限的机器数量完成最大的任务吞吐量。这是每一位工程师需要注意并细心考虑实现的目标。
参考：   1.http://blog.kovyrin.net/2006/05/18/nginx-as-reverse-proxy/    2.http://www.igvita.com/2007/10/10/hands-on-mysql-backup-migration/    3.http://www.howtoforge.com/mysql_database_replication</description><category>High Performance Tech</category><pubDate>Tue, 19 Aug 2008 17:56:54 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/08/19/reverse-proxy-server%e5%9c%a8%e9%ab%98%e6%80%a7%e8%83%bd%e5%ba%94%e7%94%a8%e7%8e%af%e5%a2%83%e7%9a%84%e6%80%9d%e8%80%83/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/08/19/reverse-proxy-server%e5%9c%a8%e9%ab%98%e6%80%a7%e8%83%bd%e5%ba%94%e7%94%a8%e7%8e%af%e5%a2%83%e7%9a%84%e6%80%9d%e8%80%83/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/08/19/reverse-proxy-server%e5%9c%a8%e9%ab%98%e6%80%a7%e8%83%bd%e5%ba%94%e7%94%a8%e7%8e%af%e5%a2%83%e7%9a%84%e6%80%9d%e8%80%83/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747618/5084484</fs:itemid></item><item><title>Mysql在master-master replication环境下不要想着负载写数据</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747619/5084484/1/item.html</link><content:encoded>&lt;p&gt;&lt;img height=&quot;122&quot; src=&quot;http://ww2.ramapo.edu/emplibrary/HR/Environmental_Health_and_Safety/AlertMeNow.jpg&quot; width=&quot;121&quot; /&gt; &lt;/p&gt;
&lt;p&gt;真是凑巧，今天晚上回来时还在琢磨是不是尝试一下在MM模式下，把写数据的操作分别负载到机器Ａ和机器Ｂ上，想当然的认为这样不就可以提交ＣＰＵ的处理能力了吗？没想到已经有专家提示，一句话：不可能实现！&lt;/p&gt;
&lt;p&gt;原文&lt;/p&gt;
&lt;h4&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2008/08/06/how-to-scale-writes-with-master-master-replication-in-mysql/&quot;&gt;How to scale writes with master-master replication in MySQL&lt;/a&gt;&lt;/h4&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/08/06/mysql%e5%9c%a8master-master-replication%e7%8e%af%e5%a2%83%e4%b8%8b%e4%b8%8d%e8%a6%81%e6%83%b3%e7%9d%80%e8%b4%9f%e8%bd%bd%e5%86%99%e6%95%b0%e6%8d%ae/feed/</wfw:commentRss><description>真是凑巧，今天晚上回来时还在琢磨是不是尝试一下在MM模式下，把写数据的操作分别负载到机器Ａ和机器Ｂ上，想当然的认为这样不就可以提交ＣＰＵ的处理能力了吗？没想到已经有专家提示，一句话：不可能实现！
原文
How to scale writes with master-master replication in MySQL</description><category>MysqlDBA</category><pubDate>Wed, 06 Aug 2008 21:33:04 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/08/06/mysql%e5%9c%a8master-master-replication%e7%8e%af%e5%a2%83%e4%b8%8b%e4%b8%8d%e8%a6%81%e6%83%b3%e7%9d%80%e8%b4%9f%e8%bd%bd%e5%86%99%e6%95%b0%e6%8d%ae/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/08/06/mysql%e5%9c%a8master-master-replication%e7%8e%af%e5%a2%83%e4%b8%8b%e4%b8%8d%e8%a6%81%e6%83%b3%e7%9d%80%e8%b4%9f%e8%bd%bd%e5%86%99%e6%95%b0%e6%8d%ae/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/08/06/mysql%e5%9c%a8master-master-replication%e7%8e%af%e5%a2%83%e4%b8%8b%e4%b8%8d%e8%a6%81%e6%83%b3%e7%9d%80%e8%b4%9f%e8%bd%bd%e5%86%99%e6%95%b0%e6%8d%ae/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747619/5084484</fs:itemid></item><item><title>软件的意义</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747620/5084484/1/item.html</link><content:encoded>&lt;p&gt;&lt;img src=&quot;http://1timetracking.com/blog/wp-content/uploads/2006/03/software-package-zoom.jpg&quot; /&gt; &lt;/p&gt;
&lt;p&gt;对于软件，不同的人有不同的视角和理解。那么软件到底是什么呢？我想回答这个问题：&lt;/p&gt;
&lt;p&gt;一、有一台电脑，有一根网线，一个程序员可以写出一个软件。如果没有人使用，就是垃圾。如果很多人使用，它就是生活的一部分。是的，软件业在硬件的不断升级演化中不断的改变定义对软件的认识。年青人现在一毕业就已经百八十具备计算机软件的使用能力，没有软件工作难以实施。对于办公室的OL，无纸化办工的环境使她们感到无比舒适的优越。对于开发者来说，软件的意义也从功能到实现的目标转变，不管现在SOA，SaaS，Cloud，都在说明如何让软件融入人们的生活。所以对于软件，它应该是一个超越人类想像的功能实现工具，让人们更加舒适的生活的工具。最终目标是类人化的机器网络，就像科幻电影一样。&lt;/p&gt;
&lt;p&gt;二、软件是程序员写出来的，所以作为实现者我们思考的思路要明确。我们作的程序不是一蹴而就的。从繁到简，我们需要不断的优化。所以不管作任何软件，都应该不要惧怕前面未知的困难。敏捷+实践是生产的基础。开源软件是技术参考的重要资料。所以我认为软件是一份事业，希望更多的年青人能看到这一些，有事业的年青人总能干出一些事情来。&lt;/p&gt;
&lt;p&gt;三、软件分很多领域，其实都是相通的。只是有基础技术知识为屏蔽墙，只要你感兴趣，你就可以穿破它。梦想和现实其实就一步之遥，不放弃不抱怨是最好的应对。从最近我全面参与开源技术的实践经验来看，我推荐更多的年青人首先应该关注开源技术，不管成熟否，只要有你的参与，就会有新的发现。商业技术在与开源技术之间的竞争中不断的作出让步，并开源相应的技术足以证明新时代的开始。开源事业任重道远，只要有你的参与才会更加精采。&lt;/p&gt;
&lt;p&gt;四、软件在中国百废待兴，不管是菜市场，交通，城市卫生，商场，路人，他们都需要更多有用的软件，但这些软件在哪里呢。他们暂时还存在你的脑子里，你还没有时间来实现它，没关系，可以在这里共享你的思绪&amp;gt;&amp;gt;&lt;a href=&quot;http://www.douban.com/group/CoderChina/&quot;&gt;点这里&lt;/a&gt;。&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/08/01/%e8%bd%af%e4%bb%b6%e7%9a%84%e6%84%8f%e4%b9%89/feed/</wfw:commentRss><description>对于软件，不同的人有不同的视角和理解。那么软件到底是什么呢？我想回答这个问题：
一、有一台电脑，有一根网线，一个程序员可以写出一个软件。如果没有人使用，就是垃圾。如果很多人使用，它就是生活的一部分。是的，软件业在硬件的不断升级演化中不断的改变定义对软件的认识。年青人现在一毕业就已经百八十具备计算机软件的使用能力，没有软件工作难以实施。对于办公室的OL，无纸化办工的环境使她们感到无比舒适的优越。对于开发者来说，软件的意义也从功能到实现的目标转变，不管现在SOA，SaaS，Cloud，都在说明如何让软件融入人们的生活。所以对于软件，它应该是一个超越人类想像的功能实现工具，让人们更加舒适的生活的工具。最终目标是类人化的机器网络，就像科幻电影一样。
二、软件是程序员写出来的，所以作为实现者我们思考的思路要明确。我们作的程序不是一蹴而就的。从繁到简，我们需要不断的优化。所以不管作任何软件，都应该不要惧怕前面未知的困难。敏捷+实践是生产的基础。开源软件是技术参考的重要资料。所以我认为软件是一份事业，希望更多的年青人能看到这一些，有事业的年青人总能干出一些事情来。
三、软件分很多领域，其实都是相通的。只是有基础技术知识为屏蔽墙，只要你感兴趣，你就可以穿破它。梦想和现实其实就一步之遥，不放弃不抱怨是最好的应对。从最近我全面参与开源技术的实践经验来看，我推荐更多的年青人首先应该关注开源技术，不管成熟否，只要有你的参与，就会有新的发现。商业技术在与开源技术之间的竞争中不断的作出让步，并开源相应的技术足以证明新时代的开始。开源事业任重道远，只要有你的参与才会更加精采。
四、软件在中国百废待兴，不管是菜市场，交通，城市卫生，商场，路人，他们都需要更多有用的软件，但这些软件在哪里呢。他们暂时还存在你的脑子里，你还没有时间来实现它，没关系，可以在这里共享你的思绪&amp;#62;&amp;#62;点这里。</description><category>我的杂念</category><pubDate>Fri, 01 Aug 2008 10:32:33 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/08/01/%e8%bd%af%e4%bb%b6%e7%9a%84%e6%84%8f%e4%b9%89/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/08/01/%e8%bd%af%e4%bb%b6%e7%9a%84%e6%84%8f%e4%b9%89/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/08/01/%e8%bd%af%e4%bb%b6%e7%9a%84%e6%84%8f%e4%b9%89/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747620/5084484</fs:itemid></item><item><title>Mysql5.x　DBA考试备考指南</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747621/5084484/1/item.html</link><content:encoded>&lt;p&gt;&lt;img src=&quot;http://www.greatlinux.com.cn/userfiles/image/training-bg1.jpg&quot; /&gt; &lt;/p&gt;
&lt;p&gt;如果你有心想从事一门新职业，可以考虑ＤＢＡ的职业，当然一份Mysql DBA认证是最好不过的敲门砖。所以今天有心看到专外提供的考DBA的备考心理路程，还是眼睛一亮，为什么不试试呢。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dev.mysql.com/tech-resources/articles/preparing-for-mysql-5-certification.html&quot;&gt;Preparing for MySQL 5.x Certification,By Mark Schoonover&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;北京唯一认证的考试机构是：&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.greatlinux.com.cn/?mod=services&quot;&gt;MySQL中国研发中心暨北京万里开源软件有限公司&lt;/a&gt;    &lt;br /&gt;（注：我看了内容，有很多都过时了，也许国内真正有兴趣考的，更关注Oracle吧。建议先电话咨询一下。）&lt;/p&gt;
&lt;p&gt;官方提供的自学认证资料:   &lt;br /&gt;&lt;a title=&quot;http://www.mysql.com/certification/studyguides/&quot; href=&quot;http://www.mysql.com/certification/studyguides/&quot;&gt;http://www.mysql.com/certification/studyguides/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ＯＫ，有这些内容，我相信考这个就需要你的努力了。That&amp;#8217;s all!&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/07/29/mysql5x%e3%80%80dba%e8%80%83%e8%af%95%e5%a4%87%e8%80%83%e6%8c%87%e5%8d%97/feed/</wfw:commentRss><description>如果你有心想从事一门新职业，可以考虑ＤＢＡ的职业，当然一份Mysql DBA认证是最好不过的敲门砖。所以今天有心看到专外提供的考DBA的备考心理路程，还是眼睛一亮，为什么不试试呢。
Preparing for MySQL 5.x Certification,By Mark Schoonover
北京唯一认证的考试机构是：
MySQL中国研发中心暨北京万里开源软件有限公司    （注：我看了内容，有很多都过时了，也许国内真正有兴趣考的，更关注Oracle吧。建议先电话咨询一下。）
官方提供的自学认证资料:   http://www.mysql.com/certification/studyguides/
ＯＫ，有这些内容，我相信考这个就需要你的努力了。That&amp;#8217;s all!</description><category>未分类</category><pubDate>Tue, 29 Jul 2008 14:37:02 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/07/29/mysql5x%e3%80%80dba%e8%80%83%e8%af%95%e5%a4%87%e8%80%83%e6%8c%87%e5%8d%97/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/07/29/mysql5x%e3%80%80dba%e8%80%83%e8%af%95%e5%a4%87%e8%80%83%e6%8c%87%e5%8d%97/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/07/29/mysql5x%e3%80%80dba%e8%80%83%e8%af%95%e5%a4%87%e8%80%83%e6%8c%87%e5%8d%97/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747621/5084484</fs:itemid></item><item><title>UseFul Links-总有你感兴趣的</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747622/5084484/1/item.html</link><content:encoded>&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;突发奇想：发起一个北京书友会免费读专业技术书籍活动，你想参与吗？当然目前仅限北京用户。&lt;a href=&quot;http://groups.google.com/group/CoderChina&quot;&gt;点这里了解全部&amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;&amp;#160;&lt;/h5&gt;
&lt;h5&gt;我知道国内有80%的计算机专业的毕业生，就是想找份工作。这有什么，我刚毕业那会也是这个目的。&lt;/h5&gt;
&lt;h5&gt;&lt;a href=&quot;http://webaspdotnet.blogspot.com/2008/07/php-interview-question_26.html&quot;&gt;PHP Interview Question&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;我看了一下，写的不错，直接要害。想必找公司只要多练习这些就可以了吧。呵呵。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.onscale.de/scalaris.html&quot;&gt;Scalaris&lt;/a&gt;     &lt;br /&gt;Transactional Key/Value Store for Web 2.0 Hosting     &lt;br /&gt;类似于Amazon&amp;#8217;s SimpleDB (aka Dynamo)，但支持完全的ACID特性。     &lt;br /&gt;Scalaris is implemented in &lt;a href=&quot;http://www.erlang.org/&quot;&gt;Erlang&lt;/a&gt; and Java. The code is available &lt;a href=&quot;http://code.google.com/p/scalaris/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/07/27/useful-links-%e6%80%bb%e6%9c%89%e4%bd%a0%e6%84%9f%e5%85%b4%e8%b6%a3%e7%9a%84/feed/</wfw:commentRss><description>&amp;#160;
突发奇想：发起一个北京书友会免费读专业技术书籍活动，你想参与吗？当然目前仅限北京用户。点这里了解全部&amp;#62;&amp;#62;
&amp;#160;
我知道国内有80%的计算机专业的毕业生，就是想找份工作。这有什么，我刚毕业那会也是这个目的。
PHP Interview Question
我看了一下，写的不错，直接要害。想必找公司只要多练习这些就可以了吧。呵呵。
Scalaris     Transactional Key/Value Store for Web 2.0 Hosting     类似于Amazon&amp;#8217;s SimpleDB (aka Dynamo)，但支持完全的ACID特性。     Scalaris is implemented in Erlang and Java. The code is available here.</description><category>Tips</category><pubDate>Sun, 27 Jul 2008 13:20:19 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/07/27/useful-links-%e6%80%bb%e6%9c%89%e4%bd%a0%e6%84%9f%e5%85%b4%e8%b6%a3%e7%9a%84/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/07/27/useful-links-%e6%80%bb%e6%9c%89%e4%bd%a0%e6%84%9f%e5%85%b4%e8%b6%a3%e7%9a%84/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/07/27/useful-links-%e6%80%bb%e6%9c%89%e4%bd%a0%e6%84%9f%e5%85%b4%e8%b6%a3%e7%9a%84/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747622/5084484</fs:itemid></item><item><title>体验appFuse，按这样式，咱们还需要多多实践</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747623/5084484/1/item.html</link><content:encoded>&lt;div class=&quot;wlWriterSmartContent&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati 标签: &lt;a href=&quot;http://technorati.com/tags/appFuse&quot; rel=&quot;tag&quot;&gt;appFuse&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/struts2&quot; rel=&quot;tag&quot;&gt;struts2&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Java Web的快速开发实践，配置很多，如果有先人能把框架，模式都配置好，后人直接在上面构建应用，不是很快。新手的第一步一般都很慢，所以找上appFuse，学一下struts2的构建：&lt;/p&gt;
&lt;p&gt;那么这篇文章不可多得：   &lt;br /&gt;&lt;strong&gt;&lt;a href=&quot;http://www.ociweb.com/jnb/jnbMay2008.html&quot;&gt;AppFuse:Igniting your applications with AppFuse&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;其中关于JMock的示例代码，现在已经不适用了，需要调整。&lt;/p&gt;
&lt;p&gt;不管怎么说，我已经把整个Ｃode代码都调式一遍，没有问题，方便你下载一次运行成功。Ｍysql表在文章中是自动生成的，所以也不必提供。&lt;/p&gt;
&lt;p&gt;deviceMgr\src\,点击&lt;a href=&quot;http://drop.io/4fcdvil&quot;&gt;此处下载&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;我把文章中src包打包一下，你使用以下命令创建完之后，再覆盖即可生成这后定制的代码。&lt;/p&gt;
&lt;p&gt;第一次生成时，标红处我改了，你需要注意。：&lt;/p&gt;
&lt;p&gt;mvn archetype:create   &lt;br /&gt;-DarchetypeGroupId=org.appfuse.archetypes     &lt;br /&gt;-DarchetypeArtifactId=appfuse-basic-struts     &lt;br /&gt;-DremoteRepositories=http://static.appfuse.org/releases    &lt;br /&gt;-DarchetypeVersion=2.0.1 -DgroupId=&lt;font color=&quot;#ff0000&quot;&gt;com.xds.app&lt;/font&gt;&amp;#160; -DartifactId=&lt;font color=&quot;#ff0000&quot;&gt;deviceMgr&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#ff0000&quot;&gt;生成项目后，注意改一下pom.xml里的mysql帐号及密码，方便能连上数据库。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#ff0000&quot;&gt;&amp;#8212;-永不穿墙破折号&amp;#8212;&amp;#8212;-&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;掌握开源框架，首先肯定要看书，但技术更新总是快于书籍更新，没思路的时间，把问题记下来，以作备案。加入maillist可以解决一般通用的问题，或者说可以给你一种信息，别人也在使用呢，火不火就看这个了，使用gmail可以来管理邮件列表。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;你要知道就java框架，就学习struts2，它其中还有ognl,freemaker,common-upload等组件，你没法一一了解的多深，一定要掌握&amp;#8220;&lt;font color=&quot;#ff0000&quot;&gt;够用就好的原则&lt;/font&gt;&amp;#8221;。不要细分各种花哨的技巧，先练个几遍。用上实现自已的目标。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;对于每一项阻拦你前进的技术，或者功能，都要记下来，在eclipse新建一个test项目实现它。然后再考虑整合。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;最后，一定要有耐心，不要认为Python，Ruby on rails&amp;#8220;牛&amp;#8221;，java落后了，不学了，最后搞的一事无成。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#ff0000&quot;&gt;Over!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;/font&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/07/26/%e4%bd%93%e9%aa%8cappfuse%ef%bc%8c%e6%8c%89%e8%bf%99%e6%a0%b7%e5%bc%8f%ef%bc%8c%e5%92%b1%e4%bb%ac%e8%bf%98%e9%9c%80%e8%a6%81%e5%a4%9a%e5%a4%9a%e5%ae%9e%e8%b7%b5/feed/</wfw:commentRss><description>Technorati 标签: appFuse,struts2
Java Web的快速开发实践，配置很多，如果有先人能把框架，模式都配置好，后人直接在上面构建应用，不是很快。新手的第一步一般都很慢，所以找上appFuse，学一下struts2的构建：
那么这篇文章不可多得：   AppFuse:Igniting your applications with AppFuse
其中关于JMock的示例代码，现在已经不适用了，需要调整。
不管怎么说，我已经把整个Ｃode代码都调式一遍，没有问题，方便你下载一次运行成功。Ｍysql表在文章中是自动生成的，所以也不必提供。
deviceMgr\src\,点击此处下载
我把文章中src包打包一下，你使用以下命令创建完之后，再覆盖即可生成这后定制的代码。
第一次生成时，标红处我改了，你需要注意。：
mvn archetype:create   -DarchetypeGroupId=org.appfuse.archetypes     -DarchetypeArtifactId=appfuse-basic-struts     -DremoteRepositories=http://static.appfuse.org/releases    -DarchetypeVersion=2.0.1 -DgroupId=com.xds.app&amp;#160; -DartifactId=deviceMgr
生成项目后，注意改一下pom.xml里的mysql帐号及密码，方便能连上数据库。
&amp;#8212;-永不穿墙破折号&amp;#8212;&amp;#8212;-
掌握开源框架，首先肯定要看书，但技术更新总是快于书籍更新，没思路的时间，把问题记下来，以作备案。加入maillist可以解决一般通用的问题，或者说可以给你一种信息，别人也在使用呢，火不火就看这个了，使用gmail可以来管理邮件列表。
你要知道就java框架，就学习struts2，它其中还有ognl,freemaker,common-upload等组件，你没法一一了解的多深，一定要掌握&amp;#8220;够用就好的原则&amp;#8221;。不要细分各种花哨的技巧，先练个几遍。用上实现自已的目标。
对于每一项阻拦你前进的技术，或者功能，都要记下来，在eclipse新建一个test项目实现它。然后再考虑整合。
最后，一定要有耐心，不要认为Python，Ruby on rails&amp;#8220;牛&amp;#8221;，java落后了，不学了，最后搞的一事无成。
Over!</description><category>Java</category><pubDate>Sat, 26 Jul 2008 15:19:32 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/07/26/%e4%bd%93%e9%aa%8cappfuse%ef%bc%8c%e6%8c%89%e8%bf%99%e6%a0%b7%e5%bc%8f%ef%bc%8c%e5%92%b1%e4%bb%ac%e8%bf%98%e9%9c%80%e8%a6%81%e5%a4%9a%e5%a4%9a%e5%ae%9e%e8%b7%b5/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/07/26/%e4%bd%93%e9%aa%8cappfuse%ef%bc%8c%e6%8c%89%e8%bf%99%e6%a0%b7%e5%bc%8f%ef%bc%8c%e5%92%b1%e4%bb%ac%e8%bf%98%e9%9c%80%e8%a6%81%e5%a4%9a%e5%a4%9a%e5%ae%9e%e8%b7%b5/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/07/26/%e4%bd%93%e9%aa%8cappfuse%ef%bc%8c%e6%8c%89%e8%bf%99%e6%a0%b7%e5%bc%8f%ef%bc%8c%e5%92%b1%e4%bb%ac%e8%bf%98%e9%9c%80%e8%a6%81%e5%a4%9a%e5%a4%9a%e5%ae%9e%e8%b7%b5/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747623/5084484</fs:itemid></item><item><title>Lightwight WebApp Forms，Cluster、High Performance</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747624/5084484/1/item.html</link><content:encoded>&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;update:19:30&lt;/p&gt;
&lt;p&gt;如果你看过&lt;a href=&quot;http://www.dbanotes.net/arch/yupoo_arch.html&quot;&gt;又拍网的架构&lt;/a&gt;介绍，它使用LVS+HA，其实最重要的是HA，说白了就是对外一个ＩＰ，然后后面哪台坏了，有家伙能顶上。但就目前Linux来说，只有LVS这条路可以走，其它都要花钱的。另外，对于使用apache+tomcat又拍网用的很粗糙，根本就没有想到优化。对于后来使用Python来自制，这是运营者的选择，我认为好处在哪里呢，我认为没有必要。从另一方面来说，由于这种图片应用来说，根本没有什么复杂的逻辑及限制，对于Scope（Application,session,Local）就没有什么特别的需求，使用Java只是增加了实现复杂度。&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;永不停止思考破折线&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&lt;/p&gt;
&lt;p&gt;我理解不使用EJB，只使用Container，如何实现高性能应用部署的疑问解答：&lt;/p&gt;
&lt;p&gt;无外乎就是前面加一个proxy，后面是container server：Tomcat,Resin之类。对于单点服务器，使用两个,或者4个在后面跑，注意：如果使用APR之后，Tomcat可以直接使用Linux的Sendfile特性，根本不需要什么apache作为前端代理。让Tomcat直接放在前端就可以。&lt;/p&gt;
&lt;p&gt;这里有人说，我一台服务器放两台Tomcat，来一个Seesion复制，我觉的没有必要，一个即可。如果你非要扩展，就需要增加服务器。这是针对APP应用，不是单纯的动态网站，不需要考虑细枝末节。多个几台服务器就是Cluster了。&lt;/p&gt;
&lt;p&gt;那么什么是高性能呢？一、细读Tomcat关于Cluster的说明，提整参数。这就是高性能。前端加上一个lighty,ngix之类代理，你也可以实现在URL之间切换服务器（google也这么干）。&lt;/p&gt;
&lt;p&gt;注意，这里少了Cache和后台数据库的架构，我这里不谈，因为已经有很多经典，看看Dba note&amp;#8217;&amp;#8217;s blog，搜索一下架构方面的文章。&lt;/p&gt;
&lt;p&gt;这里，关于用上APR，对于WAR包要不断上传到多个webapps里，我感觉很啥，其实老外们也有考虑，Tomcat6好像也在考虑这方面的特性：即考虑上次部署，多点复制。但意义而在？我在思考。然后在痛苦的思考和挣扎中，我明白：WAR包是一个应用，它确切的说，不是数据，用共享的方式给多个应用来读，反而会有IO瓶颈。所以对于数据是应用类的，或者说直接就是软件，对我们没有价值的东西，直接复制就可以了。对于需要自动化部署，可能就需要自已开发一些小工具来满足了。Over!&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/07/24/lightwight-webapp-forms%ef%bc%8ccluster%e3%80%81high-performance/feed/</wfw:commentRss><description>&amp;#160;
update:19:30
如果你看过又拍网的架构介绍，它使用LVS+HA，其实最重要的是HA，说白了就是对外一个ＩＰ，然后后面哪台坏了，有家伙能顶上。但就目前Linux来说，只有LVS这条路可以走，其它都要花钱的。另外，对于使用apache+tomcat又拍网用的很粗糙，根本就没有想到优化。对于后来使用Python来自制，这是运营者的选择，我认为好处在哪里呢，我认为没有必要。从另一方面来说，由于这种图片应用来说，根本没有什么复杂的逻辑及限制，对于Scope（Application,session,Local）就没有什么特别的需求，使用Java只是增加了实现复杂度。
&amp;#8212;&amp;#8212;永不停止思考破折线&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;
我理解不使用EJB，只使用Container，如何实现高性能应用部署的疑问解答：
无外乎就是前面加一个proxy，后面是container server：Tomcat,Resin之类。对于单点服务器，使用两个,或者4个在后面跑，注意：如果使用APR之后，Tomcat可以直接使用Linux的Sendfile特性，根本不需要什么apache作为前端代理。让Tomcat直接放在前端就可以。
这里有人说，我一台服务器放两台Tomcat，来一个Seesion复制，我觉的没有必要，一个即可。如果你非要扩展，就需要增加服务器。这是针对APP应用，不是单纯的动态网站，不需要考虑细枝末节。多个几台服务器就是Cluster了。
那么什么是高性能呢？一、细读Tomcat关于Cluster的说明，提整参数。这就是高性能。前端加上一个lighty,ngix之类代理，你也可以实现在URL之间切换服务器（google也这么干）。
注意，这里少了Cache和后台数据库的架构，我这里不谈，因为已经有很多经典，看看Dba note&amp;#8217;&amp;#8217;s blog，搜索一下架构方面的文章。
这里，关于用上APR，对于WAR包要不断上传到多个webapps里，我感觉很啥，其实老外们也有考虑，Tomcat6好像也在考虑这方面的特性：即考虑上次部署，多点复制。但意义而在？我在思考。然后在痛苦的思考和挣扎中，我明白：WAR包是一个应用，它确切的说，不是数据，用共享的方式给多个应用来读，反而会有IO瓶颈。所以对于数据是应用类的，或者说直接就是软件，对我们没有价值的东西，直接复制就可以了。对于需要自动化部署，可能就需要自已开发一些小工具来满足了。Over!</description><category>High Performance Tech</category><pubDate>Thu, 24 Jul 2008 16:16:35 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/07/24/lightwight-webapp-forms%ef%bc%8ccluster%e3%80%81high-performance/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/07/24/lightwight-webapp-forms%ef%bc%8ccluster%e3%80%81high-performance/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/07/24/lightwight-webapp-forms%ef%bc%8ccluster%e3%80%81high-performance/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747624/5084484</fs:itemid></item><item><title>选择合适的IO Scheduler，获得更高性能Mysql环境</title><link>http://item.feedsky.com/~feedsky/xds2000/~7067968/115747625/5084484/1/item.html</link><content:encoded>&lt;p&gt;刚读一Mysql DBA写的&lt;a href=&quot;http://blog.kovyrin.net/2008/07/20/found-an-ideal-io-scheduler-for-my-mysql-boxes/&quot;&gt;文章&lt;/a&gt;受到提示，知道了Linux下的IO Scheduler的选择会在不同场景下，对Mysql有很大的提升。所以搞Mysql的读写的要注意这个小技巧，通过对不同Scheduler的读写测试，了解哪款Scheduler适合你。&lt;/p&gt;
&lt;p&gt;注意Linux怎么着也要到2.6.x，有Raid卡，并且有最少4块硬盘的，要上到Raid10，注意是10。&lt;/p&gt;
&lt;p&gt;Scheduler：&lt;br /&gt;
cfq&lt;br /&gt;
noop&lt;br /&gt;
deadline&lt;br /&gt;
anticipatory&lt;br /&gt;
原文中说noop性能更好，他正在作更多的尝试。这里场景不同，选择不同。但一个方法需要记住，那就是对于Scheduler要作尝试选择最优方案。&lt;/p&gt;</content:encoded><wfw:commentRss>http://coderchina.72pines.com/2008/07/20/%e9%80%89%e6%8b%a9%e5%90%88%e9%80%82%e7%9a%84io-scheduler%ef%bc%8c%e8%8e%b7%e5%be%97%e6%9b%b4%e9%ab%98%e6%80%a7%e8%83%bdmysql%e7%8e%af%e5%a2%83/feed/</wfw:commentRss><description>刚读一Mysql DBA写的文章受到提示，知道了Linux下的IO Scheduler的选择会在不同场景下，对Mysql有很大的提升。所以搞Mysql的读写的要注意这个小技巧，通过对不同Scheduler的读写测试，了解哪款Scheduler适合你。
注意Linux怎么着也要到2.6.x，有Raid卡，并且有最少4块硬盘的，要上到Raid10，注意是10。
Scheduler：
cfq
noop
deadline
anticipatory
原文中说noop性能更好，他正在作更多的尝试。这里场景不同，选择不同。但一个方法需要记住，那就是对于Scheduler要作尝试选择最优方案。</description><category>MysqlDBA</category><pubDate>Sun, 20 Jul 2008 19:59:20 +0800</pubDate><author>coderchina</author><comments>http://coderchina.72pines.com/2008/07/20/%e9%80%89%e6%8b%a9%e5%90%88%e9%80%82%e7%9a%84io-scheduler%ef%bc%8c%e8%8e%b7%e5%be%97%e6%9b%b4%e9%ab%98%e6%80%a7%e8%83%bdmysql%e7%8e%af%e5%a2%83/#comments</comments><guid isPermaLink="false">http://coderchina.72pines.com/2008/07/20/%e9%80%89%e6%8b%a9%e5%90%88%e9%80%82%e7%9a%84io-scheduler%ef%bc%8c%e8%8e%b7%e5%be%97%e6%9b%b4%e9%ab%98%e6%80%a7%e8%83%bdmysql%e7%8e%af%e5%a2%83/</guid><dc:creator>coderchina</dc:creator><fs:srclink>http://coderchina.72pines.com/2008/07/20/%e9%80%89%e6%8b%a9%e5%90%88%e9%80%82%e7%9a%84io-scheduler%ef%bc%8c%e8%8e%b7%e5%be%97%e6%9b%b4%e9%ab%98%e6%80%a7%e8%83%bdmysql%e7%8e%af%e5%a2%83/</fs:srclink><fs:srcfeed>http://coderchina.72pines.com/feed/</fs:srcfeed><fs:itemid>feedsky/xds2000/~7067968/115747625/5084484</fs:itemid></item></channel></rss>