这是关于解决 Apache 性能问题的正确流程的问题。
一些背景信息。我运行的是 Ubuntu 8.04LTS 虚拟机,内存为 360MB。它为 LAMP 网站提供服务;主要基于 Wordpress。
它没有太多的流量(每月 15k 次访问,每月 200k 次点击)。但偶尔 Apache 会变得疯狂,消耗 100% 的 CPU,破坏磁盘并通常导致机器停止运行(== 不提供网页,不响应 SSH 命令等)
所以,我的问题是,我该如何准备收集正确的信息,以便我调试此类问题?
我对这个过程和工具同样感兴趣。
例如;mysql 慢查询日志似乎是调试慢速 SQL 查询的合理方法。Apache 有类似的东西吗?是否有某种日志记录工具可以向我显示哪些请求最慢/占用最多的 CPU/内存?或者这是错误的方法?
谢谢!
答案1
Boohbah 的回答会让你得到你想要的东西,但我认为你可能问错了。
通过 Apache 发送缓慢的请求不是问题,而是效果。听起来好像您允许 Apache 消耗了太多内存,然后您的机器开始交换,使磁盘崩溃。调整 Apache 是一门艺术,而不是一门科学,因此没有适合所有人的复制/粘贴配置,但这里有一篇不错的文章可以帮助您入门:调优 LAMP @ O'Reilly。
完成后,查看设置 Munin 来监控内存和 CPU 负载。