【问题标题】:How do I debug a slow rails app boot time?如何调试慢速 Rails 应用程序启动时间?
【发布时间】:2011-08-04 00:07:54
【问题描述】:

我们的 rails 应用程序在加载后运行良好且快速,但启动速度非常慢。控制台、乘客等都需要将近 10 秒才能启动。似乎比它应该的要多得多。

我应该使用哪些工具或方法来磨练最慢的部分?常见的嫌疑人有哪些?

【问题讨论】:

  • 即使在生产模式下也需要10秒?
  • 应用在启动过程中会占用什么样的内存?在请求进来的前几秒钟,缓存类和打开数据库连接总是有预热时间。如果你在 ram 或 cpu 上用完了,这将需要更长的时间,并建议你需要一个更强大的盒子。你也用乘客吗?您为 max 配置了多少个进程?
  • 使用乘客。不过考虑改用独角兽。内存未满。这是一个相当大的应用程序,但在启动时似乎很疯狂。我机器上的一个新应用程序会在 2-3 秒内启动。这是在 10 到 15 秒之间。生产中可能需要 10 秒,开发中可能需要 15 秒?一旦启动,每个请求都会快速运行。只是残酷的启动时间。

标签: ruby-on-rails ruby performance console boot


【解决方案1】:

我知道这是一个老问题,但我最近遇到了加载时间问题,这是我的 gem 分支,它帮助我找到了最慢的 gem,这个 gem 的好处是可以通过 rails 控制台加载,并且所有初始化程序都运行。

https://github.com/mark-ellul/Bumbler

【讨论】:

  • 马克,谢谢。看起来很有帮助。有没有办法改变它,所以它不会更新同一行,而是为每个 gem 换一个新行?
  • 我收到此错误:无法加载此类文件 -- bumbler/stats。它仍然很麻烦(我可能错了)。还是谢谢
  • 您是否使用 Gemfile 进行安装?
  • 非常有用。谢谢你。使用 1.9.3 p194 并看到一些 gem 需要 2 秒才能加载。现在我不知道为什么,但至少这为我指明了正确的方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 2016-01-17
  • 1970-01-01
相关资源
最近更新 更多