这是一个关于解决Apache性能问题的正确过程的问题。
一些上下文。 我使用360MB RAM运行Ubuntu 8.04LTS虚拟机。 这服务LAMP网站; 主要基于Wordpress。
它没有得到很多的stream量(15万次访问/月,点击20万次/月)。 但有时候Apache会执行beserk,消耗100%的CPU,磨损磁盘,一般会导致机器停顿(==不提供网页,不会响应SSH命令等)
所以,我的问题是,我该如何准备收集正确的信息,使我能够debugging这种问题?
我对这个过程和工具一样感兴趣。
例如; mysql慢查询日志似乎是debugging慢SQL查询的合理方法。 有没有类似的Apache? 是否有某种logging工具,会告诉我哪些请求是最慢的/使用最多的CPU /内存? 或者这是错误的方法?
谢谢!
Boohbah的回答会给你你想要的东西,但我想你可能会问错。
通过Apache缓慢的请求不是问题,这是效果。 听起来好像你已经允许Apache消耗太多的内存,然后你的盒子开始交换,抖动磁盘。 调整Apache是一门艺术,而不是一门科学,所以没有适合每个人的复制/粘贴configuration,但是这里有一篇很好的文章让你开始: 调整LAMP @ O'Reilly 。
一旦你完成了,看看设置Munin来监视你的内存和CPU负载。