部署 Phusion Passenger 4 在 reload 的时候处理第一个请求缓慢

tangmonk · 2015年06月11日 · 最后由 tangmonk 回复于 2015年06月11日 · 2267 次阅读

不是说好的 zero downtime 吗?

如果你已经在生产模式,看下是不是没有设置初始的实例数

#1 楼 @azhao 我用的就是默认的配置。。

那就去看下这几个选项的用法

https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html

7.5. Resource control and optimization options
7.5.1. passenger_max_pool_size <integer>
7.5.2. passenger_min_instances <integer>
7.5.3. passenger_max_instances <integer>
7.5.4. passenger_max_instances_per_app <integer>
7.5.5. passenger_pool_idle_time <integer>
7.5.6. passenger_max_preloader_idle_time <integer>
7.5.7. passenger_start_timeout <seconds>
7.5.8. passenger_concurrency_model <process|thread>
7.5.9. passenger_thread_count <number>
7.5.10. passenger_max_requests <integer>
7.5.11. passenger_max_request_time <seconds>
7.5.12. passenger_memory_limit <integer>
7.5.13. passenger_stat_throttle_rate <integer>
7.5.14. passenger_pre_start <url>

不知道是不是这个问题,可以去看下官方文档的 Troubleshooting why_does_the_first_request_take_a_long_time

#3 楼 @azhao #4 楼 @forests

谢谢,刚才仔细看了下他的文档。

Zero Down Time 只有付费用户才可以用 (Rolling Restart)

普通用户就只能用这种解决方案: 在重启 nginx 的时候,用 passenger_pre_start 自动请求服务器,然后启动 rails process,还不是又 down time, 有用户访问的时候还不是要 waiting, 有个蛋用阿。。

坑爹

需要 登录 后方可回复, 如果你还没有账号请 注册新账号