server shut down问题追踪

发表于:2009-8-10 15:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:悟石    来源:Taobao QA Team

  经过坚持不懈的追踪,定位到是apache子进程狂吃内存。

  根据经验,判断问题可能出在apche加载某个/某些模块上。于是,使用“拆分问题,隔离分析”的分析方法。先隔离出apache加载的所有模块。再采取注释、重启、验证的方式,逐步缩小隔离范围。最终定位出瓶颈点。

  系apache在加载一个Taobao**_module时,每秒消耗4M内存,导致apache占用的物理内存不断增涨,当涨至操作系统能分配给 apache的最大内存时,apache子进程死掉。在老的子进程死亡和新的子进程创建的时间间隔,有请求过来,系统自然没有响应,从 loadrunner那端看,就是server shut down。

  真相得以大明。接下来就是对这个模块进行优化了。

  一个 1.84/千 ,背后竟然隐含如此巨大的性能问题。如果不深究,问题很快就被忽视了,系统上线之后,不被上帝眷顾的用户很有可能就打不开网页了。整个瓶颈查找的过程,我想可以让我们想到以下几点:

  1. 性能测试工程师需要具备敏锐的观察力,再小的概率,只要出错,必定深究;

  2. 性能测试工程师需要有清晰的思路,先查什么,后查什么,要设计得很明确;

  3. 除了注重jboss和java程序,apache也应当重点关注,特别是出现error的时候;

  4. “拆分问题,隔离分析”的方法确实很实用;

  5. 尽信书不如无书,遇到具体问题要具体分析。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • chicycai
    2009-8-17 18:01:59

    是不是有些进程未释放数据库链接。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号