几天前,我注意到一件奇怪的事情 - 服务器不时停止处理请求一段时间。在top
输出处,它看起来像这样:
我有以下设置: nginx,unicorn 4.6.2,postgres,redis for sessions和cache,MRI ruby 2.0.0p353。
我的第一个想法是责备redid(因为如果redis没有给会话,所有进程都会等待它),但似乎并非如此,因为当unicorn worker冻结时,redis服务于其他进程的后台作业。
我不明白这种奇怪行为的原因是什么。
如果有人对此事有所了解,我很乐意检查。如果您需要其他信息 - 请告诉我该怎么做,我会尽力提供。
更新:
答案 0 :(得分:1)
事实证明(在工作进程的strace
的帮助下)工作人员试图在磁盘上写日志。磁盘负载很重,进程被阻止。