首页 > 解决方案 > 为什么 Puma 在 Ruby 2.5.4 上响应缓慢或以集群模式挂起

问题描述

我添加这个问题是因为我花了很长时间才弄清楚它是由升级到 Ruby 2.5.4 引起的。我不确定可以重现此问题的最小案例,但我在 Puma 3.11 上以集群模式在 Google Cloud Platform 中由 Cloud66 管理的 Kubernetes 集群上的 docker 容器中运行 Rails 5 应用程序。

当我以集群模式启动服务器(多年来一直是我们的默认配置)时,在 ruby​​ 2.5.4 上,服务器需要一分钟或更长时间才能响应,或者更常见的是根本不响应,即使是静态文件请求(即curl localhost:3000/404.html

我发现了这个我认为相关的错误(但可能是巧合,因为没有其他人报告过与此相关的特定行为):https ://github.com/puma/puma/issues/1674

这是一个红宝石错误吗?其他人是否正在经历这种情况?是否有解决方法(除了恢复到 Ruby 2.5.3)?

标签: performanceruby-on-rails-5pumaruby-2.5

解决方案


事实证明这个错误被报告了,我错过了它,因为它已经在 Ruby 2.5.5 中修复了!https://github.com/puma/puma/issues/1744

(不幸的是2.5.5,dockerhub 上的 ruby​​ 存储库中还没有标签,但2.5标签确实包含修复)


推荐阅读