我已经使用 Rails 3 和Passenger(通过nginx)设置了我的网站,虽然它只被一个人使用,但Web 服务器基本上必须唤醒rails 实例才能呈现页面。仅当网站有一段时间没有访问时才会发生这种情况(因此它处于休眠状态),但我有点偏执,当网站在生产级别运行时它仍然会像这样滞后(不要与开发混为一谈) /生产模式,当我检查它时,睡眠网站正在生产模式下运行)。
有任何想法吗?或者当没有人使用该网站时,这只是一个睡眠和唤醒的事情。
我已经使用 Rails 3 和Passenger(通过nginx)设置了我的网站,虽然它只被一个人使用,但Web 服务器基本上必须唤醒rails 实例才能呈现页面。仅当网站有一段时间没有访问时才会发生这种情况(因此它处于休眠状态),但我有点偏执,当网站在生产级别运行时它仍然会像这样滞后(不要与开发混为一谈) /生产模式,当我检查它时,睡眠网站正在生产模式下运行)。
有任何想法吗?或者当没有人使用该网站时,这只是一个睡眠和唤醒的事情。
有一个简单的修复方法,只需编辑您的 nginx.conf 并将其设置passenger_min_instances
为大于零的值。这样一来,乘客始终保持一个实例处于活动状态;这将防止您描述的“滞后”。在Passenger Nginx文档中阅读有关它的更多信息。
看看passenger_pool_idle_time。它规定了应用程序实例可能处于空闲状态的最大秒数。也就是说,如果应用程序实例在给定的秒数之后没有收到任何流量,那么它将被关闭以节省内存。