【问题标题】:unicorn timeout handling独角兽超时处理
【发布时间】:2012-09-17 18:16:07
【问题描述】:

我想知道从我的应用程序跟踪独角兽超时的最佳方法是什么。

应用程序的某些部分速度很慢,并且它们目前安静地超时。我可以增加超时时间,但这将问题推到了地毯下。理想情况下,我想得到一个空气制动通知或类似的东西。我不是在寻找性能指南,只是一种高效可靠地了解超时的方法。

其他人如何使用 unicorn 处理他们的 rails 应用程序的超时?扫描nginx错误日志?在独角兽配置中插入处理程序? nginx 配置中的处理程序?

[Ubuntu 12.04+nginx+unicorn+rails 3.2+ruby 1.9.3]

【问题讨论】:

  • 您找到答案了吗?我们正在使用 Rack::Timeout。
  • 解决方法是扫描 nginx 日志以查找 503(或一些 50X,无法回忆)状态并从那里查看。有点奇怪地达到了目标。

标签: ruby-on-rails ruby ruby-on-rails-3 nginx unicorn


【解决方案1】:

我倾向于在New Relic 上创建一个帐户,使用他们的newrelic_rpm gem 并在他们的网络应用程序中收集与此问题相关的性能数据。 NR 提供对这种情况有用的免费帐户级别。

使用这种有点懒惰的检测方法的好处是双重的:在您的应用程序中不需要自定义检测实现;并且无需检查您的下游网络服务器日志中是否存在 503 服务器错误。

【讨论】:

  • 嗨!感谢您的回答!但我目前不打算推出新服务或应用程序。我在寻找独角兽超时捕获的特定挂钩
  • 那么也许你应该看看独角兽手册的“配置器”和“调整”部分。
【解决方案2】:

参考独角兽手册网站'configurator' section。有一系列关于积压和超时的项目,应该可以让您获得所需的控制权。

【讨论】:

  • 我已经浏览了这些页面。据我了解,他们没有谈论处理超时。他们只谈论控制超时时间。
  • 您是否在应用程序代码的相关部分中添加了ensure 块,导致超时?
  • 如果我知道所有缓慢的部分,我会修复这些部分而不关心所有超时。我只对通过获取通知来处理超时感兴趣。
猜你喜欢
  • 2012-05-27
  • 2014-08-04
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 2014-12-31
  • 2020-10-31
相关资源
最近更新 更多