我正在pipe理一个小型的社交媒体网站,而且在过去的几天里,我经历了间歇性的服务器滞后。 该网站将窒息加载一个页面,不久之后,同一页面将无法加载困难。
检测服务器延迟的最佳方法是什么?如何解决?
我的箱子是..
在Ruby on Rails上使用mySQL在MongrelDB上运行
所有dynamic图像和数据库都通过S3托pipe
High CPU Med (32 bit) 5 ECU, 1.7GB RAM 350GB Non-persistent storage
stream量大概是每天60次。
你在监视服务器负载吗?
RoR的性能工具可以在运行RoR脚本时测量服务器的性能,但我不记得名字。 不过,不应该太难find它。 我在想的是在Ruby on Rails podcast上讨论的。
你正在检查日志中是否有错误?
你说服务器延迟,但可能不是延迟。 这可能是服务器上的性能问题。 由于一个错误,它在内存上运行不足吗? 进程错误后进程被杀死?
你可以监视服务器,看看什么顶部说是发生在这些滞后时间之一?
听起来几乎就像有些东西需要转移或移入工作内存,然后被caching起来,所以当再次询问时,它会很快运行,除非在某处被代理或挂起。 如果服务器本身没有出现任何问题,则需要诊断是否您或所有人偶尔有滞后。
有testing工具在那里测量性能。 也许你应该看看这些服务之一来testing你的服务器和configurationRoR /数据库代码。
您可能还需要考虑安装某种types的服务器监控软件(如Nagios),以便在资源不足时提醒您,或者需要检查警报情况。