我们最近将我们的网络服务器从大约 10 年历史的机器移到了 AWS EC2。
目前网站的使用率较高(这是我们的繁忙季节),但网站的速度却慢了很多,这是出乎意料的,因为我们的实例大小比以前高得多。
我们运营着一个非常小的网站,每次只能吸引几百人。我们正在运营一个c3.大我们的网络服务器上的实例,以及db.m1.large用于我们的 RDS MySQL 数据库。我们没有任何读取副本或多个 Web 服务器(负载平衡)。根据 Google Analytics,我们全天只有 18,106 次页面浏览量。
我们的用户(外部和内部)在浏览器中不断看到网站超时。它几乎是全部出现,而不是某个特定页面。MySQL PROCESS LIST 也几乎是空的,没有任何表锁或诸如此类的东西。
如果您查看 CloudWatch 中的统计数据,一切都应该很好。我们的 CPU 利用率非常低,而且我认为网络 I/O 也非常低。同样,在 RDS 方面,这里没有任何东西表明存在“瓶颈”。
EC2 使用情况 (c3.large)
RDS 使用情况(db.m1.large)
有什么想法我应该如何解决此问题?
答案1
最终找到了问题的根源。Apache 的配置错误,导致 Keep Alive 超时为 30 秒。再加上过于激进的 AJAX 脚本,导致网站挂起并等待连接。
调低KeepAliveTimeout
到 7,并控制 AJAX 脚本,一切恢复正常。