我有一个正在服务器上运行的Rails应用程序。当我进入远程桌面并尝试加载应用程序时,服务器会花费3-4分钟的时间来响应简单的HTML页面。但是,当我在服务器上本地加载页面时,该页面仅会显示一秒钟。我尝试从远程桌面ping服务器,并且在合理的时间内ping操作成功。
这似乎在我安装了Oracle的基本客户端和SQLPLUS之后就开始了。我应该怀疑甲骨文吗?有没有人经历过类似的事情?
在这里(甚至一年后)也有同样的问题。在Linux下,您必须执行以下操作:
查找文件/usr/lib/ruby/1.9.1/webrick/config.rb并进行编辑。
替换行
:DoNotReverseLookup => nil,
with
:DoNotReverseLookup => true,
重新启动webrick,它将像超级按钮一样工作:)
DoNotReverseLookup
选项。解决方法是:有相同的问题。对我而言,this post保留了解决方案。如果您使用的是Ubuntu,请停止(或卸载)avahi-daemon
。 service avahi-daemon stop
停止守护程序。
Webrick现在感觉非常很快。
该问题有一个old report in Rails Lighthouse,但是从那时起,Ruby-on-Rails已经移动了their tickets to github;不幸的是,这个老问题仍然存在。
不过请注意,如果您实际上使用 avahi-daemon
来处理网络上的finding printers and scanners之类的东西,将不再起作用。
只是有同样的问题。
...
:DoNotReverseLookup => true,
...
也是我的把戏。万一您在rvm下运行ruby,这是要使用的路径:
~/.rvm/rubies/ruby-<version>/lib/ruby/<version>/webrick/config.rb
“ Thin”现在是在本地运行[[和Heroku:
的绝佳选择您可以通过放入Gemfile在本地使用它:
gem "thin"
...,然后运行捆绑软件并使用thin start
或rails s
启动服务器。在Heroku上更新
Thin现在被认为是Heroku的bad选择。更多信息在这里:
https://blog.heroku.com/archives/2013/4/3/routing_and_web_performance_on_heroku_a_faq他们的推荐:
[切换到JRuby上的并发Web后端,例如Unicorn或Puma,这使dyno可以管理自己的请求队列,避免阻塞长请求。
mongrel
和thin
宝石都无法在Windows上使用Ruby1.9,并且我无法陷入从源代码进行编译的过程,因此我需要坚持使用WEBrick。修复是在创建WEBrick服务器时将配置参数DoNotReverseLookup
设置为true
:
server = HTTPServer.new {:DoNotReverseLookup => true, ...}
:DoNotReverseLookup
问题,并希望添加其他信息。 Ruby核心中的This web page explains the regression error导致此问题的出现。重点是我的;如果所有这些都比较短,那么会有一个GitHub pull请求来对此进行Ruby核心修复,并希望它会被批准并合并到即将发布的Ruby版本中: