【发布时间】: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