查找 LAMP 服务器性能瓶颈的建议

查找 LAMP 服务器性能瓶颈的建议

我知道这个问题已被问过一千次,并且我已经阅读了很多答案,但没有找到一个真正对我有帮助的答案。

我已经使用过 top 并且根本没有进行交换,我有大约 500 MB 的可用 RAM(每个 Apache 进程消耗大约 80MB),CPU 负载基本上不存在...我已经将 MySQL 的慢查询日志设置为包含任何花费超过 1 秒的查询,并且它是空的。

我正在运行一堆Drupal我在我的旧 Linux 机器上运行了 1000 多个网站。我决定升级这台机器,因为我要运行 Groupon 交易,我想确保我可以处理负载峰值。在当前流量下,我的服务器没有出现任何缓慢的情况,但我不想用 Groupon 来破坏我自己。新机器有 4 GB 的 RAM,而旧机器只有 1 GB。它的处理器速度更快,但我手头没有新旧机器的规格。

我在新服务器上遇到了可怕的缓慢问题,但我的 ISP 拒绝考虑这是服务器或服务器配置的问题。他们只是一直责怪“我的软件”(尽管这是 Drupal 的软件,而且 Drupal 的速度非常快)。

当我说糟糕透顶时,我的意思是大约 30% 的时间需要超过 3 分钟才能加载一个几乎没有任何内容的页面。我打开了 Drupal 内部的分析功能,从 Drupal 的角度来看,整个页面事务最多需要不到 500 毫秒(通常接近 300 毫秒),MySQL 查询总共需要大约 30 毫秒。

每当我浏览自己的网站时,如果请求速度非常非常慢,我就会使用 ping 和跟踪路由检查我的连接,检查其他网站,并没有发现丢包的情况。在一次速度变慢期间,我甚至能够登录 ISP 的管理面板,并在页面最终加载之前写出完整的故障单。

您能给我一些建议,告诉我在哪里可以找到问题吗?我该如何缩小范围来找到问题所在?

我的代码从旧服务器到新服务器没有变化。唯一的变量是硬件和服务器配置,所以我觉得问题一定出在服务器配置上。

以下是我的网站上的示例 URL:

http://www.inadaydevelopment.com/content/financial-freedom-principles

我尝试对我的网站执行 ping 操作,以查看我的家庭 FiOS 连接是否导致我丢包并干扰连接,但在 1000 多次 ping 操作中,我没有丢过一个。然而,在这 1000 次 ping 操作中,我经历了几次页面加载,耗时超过 6 分钟。浏览器处于“正在连接”状态,而不是“已连接并下载资源”状态。

--- inadaydevelopment.com ping statistics ---
1010 packets transmitted, 1010 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 80.661/83.935/222.001/8.891 ms

相关内容