【问题标题】:Slow localhost load running Rails and Webrick运行 Rails 和 Webrick 的本地主机负载缓慢
【发布时间】:2014-10-11 20:12:41
【问题描述】:

我在我的开发环境中运行 Rails,而 Webrick 的速度慢得让人难以忍受。我真的不知道为什么。

CPU 利用率在 6% 到 12% 之间反弹,而内存利用率在整个负载期间徘徊在 18%。

我找到了一个网站,作者建议更改 webrick 配置(...\lib\ruby\2.0.0\webrick\config.rb):

General + {
...
      #:DoNotReverseLookup => nil, #original setting
      :DoNotReverseLookup => true,
}

我还重新启动了我的盒子,以防类似的解决方案,但没有改变。

这是负载:

是什么导致了这个缓慢的加载,我该如何解决?

编辑:我使用的是 Windows 7 开发环境,24 GB,3.1 GHz,运行 postgres。

【问题讨论】:

  • 我遇到了类似的问题,把我的头撞到墙上...原来是客户端上的 JAVASCRIPT 不好,而不是服务器端...调试方式,服务器端和客户端,是添加记录器事件(rails:logger.debug,javascript:console.log)并使用当前时间戳来查看时间在哪里移动了几秒钟......
  • 在哪里? Application.js 还是只是所有的 JS 文件?
  • 我不知道。这就是你调试的原因......你使用总代码单元,然后你缩小范围......我建议你使用 Chrome 的开发人员工具,它会在代码执行时打印调试消息。 Firefox 在完全加载后显示它们。
  • 在开发主机上运行像 Rails 这样的完整堆栈,尤其是在使用数据库时,会耗尽机器的 CPU 和 I/O 吞吐量。您没有说出您的系统、硬件、CPU、RAM 和磁盘速度是多少,因此我们无法真正猜测您的系统是否被推到了极限。我遇到过类似的问题,最后不得不将我的数据库和 HTTP 分拆到单独的机器上,这很容易使整个系统的速度翻倍,即使作为一个未经调整的开发系统也是如此。
  • 不完全是您问题的答案,但我建议使用 pumathin 而不是 webrick。它们提供了更好的整体性能,并且不重

标签: ruby-on-rails ruby webrick


【解决方案1】:

WEBrick 默认对连接的 IP 进行反向 DNS 查找。换句话说,它试图查看您的 IP 地址是否与域名相关联。这是不必要的,而且耗时太长,因此您可以禁用它。

打开文件"l/ruby/lib/ruby/1.9.1/webrick/config.rb" 并找到带有":DoNotReverseLookup => nil" 的行。 将nil 更改为true

享受吧!

【讨论】:

    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    相关资源
    最近更新 更多