工头+独角兽 - 沉重的CPU

时间:2014-05-01 17:07:22

标签: ruby ubuntu sinatra unicorn foreman

我有一个ruby 2.0 sinatra'faceless'应用程序通过调用外部服务来提供json。它工作正常。

主应用程序在ubuntu机器上的端口80上运行。

我还使用'foreman start'启动实例 - 因此它在同一个ubuntu虚拟机上的端口5000上运行。

在端口80实例上,进程'foreman master'占用CPU时间,而在相同负载下,端口5000上的那个基本上使用0 CPU。

 $ ps -a l
 F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND

 4     0  1615  1614  20   0  26140 17236 wait   Sl+  tty1       0:28 foreman: master 

 0  1000  1899  1659  20   0  25036 16612 wait   Sl+  pts/1      0:00 foreman: master                                                                                                                                 

应用程序同时启动,两者都有相同的负载(非常轻,20分钟)。

我能看到的唯一区别是问题是使用sudo命令在端口80上启动,而另一个是作为用户进程启动的。

工头如何在tty终端输出日志条目与pts / 1终端之间有区别吗?

请注意,有40人在应用程序上敲击,工头主进程使用90%cpu,而应该进行工作的所有其他ruby进程都是1%(9个独角兽)。

我认为它与终端输出有关的处理方式不同,但我不确定。

感谢您的帮助。

有没有办法告诉工头或红宝石根本不写日志?

EDIT 我现在认为它与终端日志记录有关,因为我为部署应用程序关闭了95%,并且负载更好,但仍然高于正常的非rvmsudo命令。

0 个答案:

没有答案