【问题标题】:Rails site searching an awful lot of directories for files when starting up?Rails 站点在启动时搜索大量目录以查找文件?
【发布时间】:2011-08-30 02:46:29
【问题描述】:

我们的服务器上的各种 Rails 站点出现间歇性缓慢的情况——Apache 2、Passenger、REE 1.8.7、各种 Rails 版本(主要是 2.3.11)。有一个人进来看看他是否能找到我们可以优化的东西。他回来时摘录了一段他对 Ruby 进程所做的跟踪:http://pastebin.com/t9LD89dr

如您所见,正在搜索同一文件的大量路径,其中一些非常荒谬。即使它实际上是在第 8 次尝试时被发现的。显然,应用程序包含 许多 .rb 文件会发生这种情况,从而导致大量浪费的磁盘活动。

有没有人知道这里发生了什么以及我们是否可以对此采取任何措施?我有一种感觉,这是减缓我们网站启动速度的原因,这些网站使用了我们提出的一些内部 CMS。我的第一个倾向是责怪沙漠,它是用来让我们为所说的 CMS 开发插件扩展的。但这真的只是一个猜测。经过一番摆弄,我的另一个猜测是,这就是 RubyGems。在任何情况下,它都会使我们服务器上的任何应用程序重新启动 r-e-e-e-a-a-a-l-l-l-l-l-y 缓慢(并且在此过程中,由于Passenger 的工作方式,服务器上的所有其他应用程序都会陷入困境)并且需要对此采取一些措施.

【问题讨论】:

  • 有可能。我也开始怀疑这是否是 RubyGems 的目标。向我指出的一件事是,许多正在搜索的路径都不存在和/或毫无意义,并且似乎是其他路径的串联。
  • 另外,这不是一个真正的可靠 观察,但在我的开发环境和不同的服务器上,加载时间似乎并没有那么糟糕。关于它的一些事情向我表明,这取决于在它运行的环境中安装了多少系统 gem——这个特定的服务器有很多,包括多个不同版本的 Rails。

标签: ruby-on-rails rubygems passenger ruby-on-rails-plugins


【解决方案1】:

安装“will_paginate”;看来这颗宝石不见了。

【讨论】:

  • 不,它已安装。如果不是这样,这个网站就会出错并且根本无法启动,而且我会收到一个非常明显的错误消息,伴随着一个非常明显的错误,并且不会在这里发布。
  • 此外,这个馅饼只是完整的 strace 的摘录。它为每个需要这样做。
猜你喜欢
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-12-19
  • 2020-03-29
  • 1970-01-01
  • 2020-08-06
  • 1970-01-01
  • 2021-10-18
相关资源
最近更新 更多