不是说好的 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, 有个蛋用阿。。
passenger_pre_start
坑爹