Rails语言环境开发服务器“rails s”同时提供多个请求

时间:2011-04-22 17:19:30

标签: ruby-on-rails webrick

Windows 7,Rails 3。我是本地/开发模式,rails server不会同时处理多个请求。进程崩溃和cmd提示符出现在前面。

我在以下时间注意到这种行为:

  • 有太多的ajax请求,彼此太近了
  • 在2个浏览器上加载简单页面

有解决方法吗?更改本地服务器(默认为webrick)?怎么做的?

感谢。

2 个答案:

答案 0 :(得分:6)

我不知道这是否仍然需要答案,但是我通过将gem 'puma'添加到Gemfile来完成此操作,然后您需要将config.threadsafe!添加到config/application.rb或您正在运行的环境文件(例如config/environments/development.rb

有时你可能不希望线程安全,所以我在development.rb

中这样做了
if ENV["THREADS"]
  config.threadsafe!
end

现在(我在我的development.rb中所做的)我可以做rails s Puma并且它将运行最多16个线程并且可以处理多个请求。您还可以使用Puma启动线程池并配置更多,文档为here

更新

请注意,在Rails 4+中不需要使用config.threadsafe!,我相信不推荐使用{{1}}。

答案 1 :(得分:0)

您需要安装mongrel gem,并指定rails s

时要使用的服务器

我不知道你们是如何在胜利系统上做到的。为什么不运行虚拟Unix机箱?用它不是铁轨更容易吗?因此,对于Unix,它将类似于:

安装mongrel gem:

gem install mongrel

然后指定您要运行的服务器:

rails server mongrel