背景
我正在运行Ruby on Rails应用程序,该应用程序也必须提供大量静态文件。
我目前的设置是:
Debian Linux Lenny 5.0 Apache 2.2.9 乘客2.2.10
问题
一切都运行良好。我看到apache进程在旋转,乘客实例被创建,一切都快速而且快速。
然后,一段时间后Apache不再响应请求了。客户端确实获得了连接并且正在“等待响应”,但没有一个连接。
我无法手动重现此问题。有时它会在重启后几个小时发生,有时则需要几天才会发生。这是我发现的:
Apache进程正在进行;乘客在那里,但它没有任何实例旋转(可能是因为实例在一段时间不活动后死亡)
/ var / log / syslog,/ var / log / messages中没有错误消息或问题,不在apache的访问和错误日志中,而不在我的Rails生产日志中。没有。
当我停止并启动Apache时,一切都恢复正常。
有没有人知道这里发生了什么?它是如何解决的?
答案 0 :(得分:0)
由于静态文件的负载很大,出于性能原因,我们决定在单独的服务器(后来的Amazon S3 + CloudFront)上托管静态文件。
我目前的猜测是,Apache无法应对静态文件和也在做Passenger的大量请求。当前设置是Rails应用程序的Nginx + Unicorn和静态文件的S3 + CloudFront。