我最近从unicorn
切换到puma
。
正如所料,表现更好!
然而,有些事情我不明白。
我的API一直处理好95%及以下的事情。
但是,由于没有明显的原因,我不时会在99百分位(超过30秒的等待时间)上从heroku获得一些奇怪的Timeout
在屏幕截图中,大矩形在第99百分位超时......
所以我查了一下日志阅读器,有些random routes
是randomly in timeout
,所以这不是API性能的问题。
同样!
我有rack timeout gem
使用以下配置:
# config/initializers/rack_timeout.rb
Rack::Timeout.service_timeout = 25 # seconds
但超时从不在这里提出,仅在Heroku的H12上(所以 30秒后)
这是从我开始使用Puma
有什么想法吗?
API configuration :
ruby 2.5.1
rails 5.1.4
PUMA configuration
gem version 3.11.4
3 workers
5 threads
preload_app!