【问题标题】:How do I debug random Timeout::Error: execution expired如何调试随机 Timeout::Error: execution expired
【发布时间】:2011-02-15 15:17:44
【问题描述】:

我们使用的是 Rails 2.3.5,并且遇到了看似随机的 Timeout::Error: execution expired 错误。 Hoptoad 报告的错误在任何特定控制器中并不一致,并且从用户会话到帐户设置再到我们的一些核心功能控制器,无处不在。

绝大多数请求不会超时,但足以引起关注。

这正常吗?如果是这样,有哪些事情可以减少发生率?如果没有,有没有人遇到过这种情况?有哪些常见问题会触发此类错误。

【问题讨论】:

  • 遇到完全相同的问题,Rails 2.3.5。
  • 我真的可以在这方面寻求帮助。我已经通过急切加载等进行了调整,但是超时不断从不同的地方进来。使用 Heroku。

标签: ruby-on-rails ruby timeout timeoutexception


【解决方案1】:

如果您的服务器在高负载下运行,请求超时是正常的。您应该查看超时是否与长时间运行的 SQL 请求或其他一些需要大量时间的活动同时发生。通常,您可以通过升级硬件或优化代码来减少超时。如果您无法升级硬件,请尝试优化运行时间最长且访问频率最高的操作。

【讨论】:

  • 谢谢,奇怪的是没有一个请求应该是长时间运行的。我们在 m1 大型实例上的 Amazon EC2 上运行。我们将 Amazon RDS 用于数据库实例。我们在小负载下也看到这样的超时。
猜你喜欢
  • 1970-01-01
  • 2017-12-01
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 2018-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多