检测服务器延迟如何/在何处发生的最佳方法是什么?

检测服务器延迟如何/在何处发生的最佳方法是什么?

我管理着一个小型社交媒体网站,过去几天,该网站的服务器时不时出现延迟。网站在加载某个页面时会卡住,但过了一会儿,同一个页面就可以顺利加载。

检测服务器延迟的最佳方法是什么以及如何解决它?

我的盒子是..

通过 Ruby on Rails 在 MongrelDB 和 mySQL 上运行

所有动态图像和数据库均通过 S3 托管

High CPU Med (32 bit)
5 ECU, 1.7GB RAM
350GB Non-persistent storage 

流量大约为每天 60 页面浏览量。

答案1

您正在监控服务器负载吗?

有一些 RoR 性能工具可以测量运行 RoR 脚本时服务器的性能,但我记不清它的名字了。不过,应该不难找到。我想到的那个是在 Ruby on Rails 播客上讨论的。

您正在检查日志中是否存在错误吗?

你说的是服务器延迟,但可能根本不是延迟。这很可能是服务器的性能问题。它是否因为错误而内存不足?进程在运行错误后被终止?

您能否监控服务器以查看在发生这些延迟时 top 所说的情况?

听起来就像是必须将某些东西传输或移动到工作内存中,然后将其缓存起来,这样当再次请求时,它就会快速运行,除非某些东西被代理或挂在某处。如果服务器本身没有出现任何问题,您需要诊断是您还是每个人都偶尔出现延迟。

市面上有用于测量性能的测试工具。也许您应该研究一下这些服务之一来测试您的服务器并分析 RoR/数据库代码。

您可能还想考虑安装某种服务器监控软件,例如 Nagios,以便在资源不足或需要检查警报条件时提醒您。

相关内容