Web服务器性能优化–又一次实施的案例后记
记实
感谢 Y兄,不管如何都 真的要感谢您和您的团队给我发挥一些雕虫小技的机会,如果没有您们这样的环境, 也不会让我有这样的机会和一些经验、教训 积累。
场景
企业中4000多用户的OA系统,系统最高并发200-300,但每到高峰期,特别是星期一上午,就像来那个什么似的,出现“503 Service Temporarily” 错误 ,当我听到电话里的Y兄跟我说道这样的现象,并且后台程序无时错误抛出时,我的第一反应就是 Tomcat 和 Apache的通信处了状况。
兄台多处寻医,但是众人分说,多数人坚持说,是Java应用程序的因素导致系统 503错误。但没有采用Apache+Tomcat 以前一切正常,没出现的503现象。
教训
1、这样非常广义的503错误信息,适合采用 “排除法”,一层一层的剥离 有可能存在的因素。
2、使用的产品必须彻底明白每个参数的具体作用,不然你遇到问题时候根本无法应对。
3、这样非常扰人的 “big aunt” 问题 必须有耐心,要有对其一查到底的决心!
4、互联网中的资料,今后要求Team中的兄弟们 必须100%理解后再去抄袭,不然 把你一脚踢到楼下出去;当然这是开玩笑的话,这是打造一个精良技术团队的信念,否则遇到问题时根本无从下手。
过程
1、用户的生产环境是不可能让我随意倒腾的,只有在自己的机器上先想尽一切办法重现这样的错误。
2、仔细的阅读Apache web服务器和Tomcat的使用手册 找出关键性的配置参数。
3、经过一番推理加上本地环境的反复证明 Apache中的 max和smax(soft max) 配置参数,Tomcat中ajp的 MaxThread参数 都是非常有意义的。
4、这几个参数需要根据生产环境,机器配置来界定 到底需要配置多少,这样才能充分发挥机器硬件的资源。也许会和网上所说的解释不会完全一样,但是是我的理解:Apache中的配置参数就像是系统的嘴巴能吃多少请求数,tomcat中的配置参数就像是系统的胃,给你很多的食物就看你能不能消化,所以Apache中的配置和Tomcat中的配置都息息相关的,需要同时关注。
5、读了这份资料后,感受颇深,如果你遇到一些需要深刻理解Apache 转发Tomcat 的配置参数,绝对是必备的良药,值得收藏一下。 地址:http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass (官方文档) 。
废话
专家+新手=快速入门,上手工作。
专家+专家=关键模块,解决关键性难题。其实 团队中的 工作模式 也是需要优化的,不同问题,不同人群对待,人力资源最大化。
–end–

本文由J2ee企业顾问-黄毅创作,并已采用创作共用署名2.5中国大陆版许可证授权。






Comment from IUSR
Time 2010年09月9日 at 8:53 上午
意思是后来切到了mod_proxy还是只是借鉴了一下?