Tag: mongrel

对于Ruby on Rails,当使用Webrick时,它是否支持并发请求和Keep-Alive,以及为什么加载.js和.png文件这么慢?

我正在运行Rails 3.0.5,并且在控制台上报告了一个页面需要60ms,但如果我检查Firefox Net加载时间图表,则需要2.9秒。 如果我在Bash上运行ab命令,它说需要300ms。 因此,如果移除了javascripts(其中6个),那么它需要1.9秒……但我想知道为什么这么慢? 是不是还活着? 同样奇怪的是Firefox显示4个文件同时下载 – 我认为Webrick一次只支持1个连接? (改为使用杂种或“瘦”会使事情变得不同或更好吗?) 也奇怪的是,如果我 ab -n 10 -c 5 http://www.somesite.com:8080 它需要3秒,并且为了测试如何支持keep-alive ,我使用了-k选项: ab -n 10 -c 5 -k http://www.somesite.com:8080 但现在总时间从3秒变为4.5秒。 是不是keep-alive应该让它更快,并且由Webrick支持keep-alive ? 另外,如果它支持并发连接,那么如果某些代码使用类变量来处理事物,那么不会有竞争条件发生吗? (因为类变量内容跨越请求)

如何让杂物与捆绑器一起工作?

使用现有生产设置过渡到bundler。 天真地使用gemfile并设置如下: gem “rails”, “2.3.8” gem “mongrel”, git: “http://github.com/dynamix/mongrel.git” bundle install –path /mnt/app/shared/bundle 从…开始 bundle exec mongrel_rails start –environment=production … 结果是 /mnt/app/shared/bundle/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:166:in `require’: no such file to load — /mnt/services/shared/bundle/ruby/1.9.1/gems/mongrel-1.2.0.beta.1/lib/mongrel/init.rb (MissingSourceFile) 该怎么办?

在Windows Server上构建Ruby堆栈:msvcrt-ruby18.dll

我正在尝试运行mongrel_rails,但我得到以下内容: the program can’t start because msvcrt-ruby18.dll is missing from your computer Ruby然后给我以下内容: C:\Users\Administrator>mongrel_rails C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: 126: The s pecified module could not be found. – C:/Ruby193/lib/ruby/gems/1.9.1/gems/mong rel-1.1.5-x86-mingw32/lib/http11.so (LoadError) from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require ‘ from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.1.5-x86-mingw32/lib/m ongrel.rb:12:in `’ from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require ‘ from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require ‘ from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.1.5-x86-mingw32/bin/m ongrel_rails:11:in `’ from C:/Ruby193/bin/mongrel_rails:19:in `load’ from C:/Ruby193/bin/mongrel_rails:19:in `’ […]

调用Dispatcher.dispatch时出错#<NameError:uninitialized constant ActionController :: CgiRequest

我在log / mongrel.6001.log上收到以下错误 我正在使用mongrel_cluster,rails 3和ruby 1.8.7 我使用mongrel_rails cluster :: start启动mongrel_cluster但是当我尝试访问浏览器上的页面时,我得到错误 “调用Dispatcher.dispatch时出错# Mon Oct 11 00:26:04 -0500 2010: Error calling Dispatcher.dispatch # /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:76:in `process’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `synchronize’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `process’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:159:in `process_client’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `each’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `process_client’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `initialize’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `new’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `initialize’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `new’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `run’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:282:in `run’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `each’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `run’ /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run’ […]

对Rails应用程序的第一个请求非常慢

我的Rails应用程序的第一个请求(工作会话)总是滞后。 切换到生产模式没有帮助。 我使用mongrel,其他请求以可接受的速度处理。 如何让它更快? 问候

你如何处理开发中的SSL?

我有一个应用程序,它的一些路由与ssl_requirement插件一起使用HTTPS。 它已部署并在生产中正常运行。 问题是如何在开发中最好地处理这个问题,因为目前我只是在routes.rb我的routes.rb来删除:requirements键,显然这不是很方便或优雅: map.resource :session, :controller => ‘session’, :only => [:new, :create, :destroy], :requirements => { :protocol => ‘https’ } 理想情况下,我希望能够在Mongrel上开发我的应用程序的安全部分而不做任何更改。 我怎样才能做到这一点? 我正在使用Mac OS X.

不同的Ruby on Rails生产Web服务器之间的建议(和差异)

我很快就计划将我的第一个Ruby on Rails应用程序部署到生产环境中,我甚至选择了一个带有所有托管服务器的webhost,以及你期望从RoR提供商那里获得的Capistrano。 提供商允许使用Mongrel,Thin,Passenger和FastCGI Web服务器,这看起来非常灵活,但老实说我不知道​​它们之间的差异。 我已经对它们进行了一些调查,但是当它们开始讨论function和最大同时请求时,它们会变得有点多 – 而且这些数据似乎会根据发布者的不同而有所不同。 我看过Passenger(表面上看) – 这看起来对我很有吸引力 – 但我的印象是Passenger不是真正的网络服务器,而是更像是Apache或nginx之上的一层并且管理产生了应用程序的实例(如Mongrel集群)。 任何人都可以请我直截了当地说明外行人的条款,以便我可以明智地选择(因为任何看过印第安纳琼斯和最后的远征的人都知道如果你选择不好会发生什么)。

Rails Partial(Rails 3,HAML)任意慢

我使用的是Rails 3.0.1,HAML 0.3.22和Mongrel 1.1.5(以及MongoMapper而不是AR)。 我正在渲染一个列表,每个列表项都是它自己的部分。 每次页面渲染时,其中一个列表项部分需要花费几乎100倍的时间来渲染(并且每次都是一个任意不同的。另外,不用说,每个项目基本上都有相同的数据)。 知道这里发生了什么吗? 我应该将逻辑移动到块而不是部分吗? Rendered shared/_head.html.haml (5.6ms) Rendered tasks/_incomplete_task.haml (6.2ms) Rendered tasks/_incomplete_task.haml (6.4ms) Rendered tasks/_incomplete_task.haml (6.9ms) Rendered tasks/_incomplete_task.haml (6.2ms) Rendered tasks/_incomplete_task.haml (6.0ms) Rendered tasks/_incomplete_task.haml (6.1ms) Rendered tasks/_incomplete_task.haml (6.4ms) Rendered tasks/_incomplete_task.haml (6.2ms) Rendered tasks/_incomplete_task.haml (7.0ms) Rendered tasks/_incomplete_task.haml (531.6ms) Rendered tasks/_incomplete_task.haml (8.0ms) Rendered tasks/_incomplete_task.haml (6.8ms) Rendered tasks/_incomplete_task.haml (6.5ms) Rendered shared/_tasks.html.haml (633.0ms)

运行我的Sinatra应用程序时使用shotgun gem和msvcrt-ruby18.dll的错误

问候, 每当我对Sinatra应用程序进行更改时,我正在尝试刷新浏览器(位于http:// localhost:4567 / ),浏览器将刷新,控制台窗口似乎重新启动WEB brick服务器。 问题是浏览器窗口中的内容不会改变。 我的一个朋友告诉我这是一个霰弹枪问题并将我转介给rtomayko的霰弹枪gem: http://github.com/rtomayko/shotgun 在这个页面上,我读到了猎枪gem基本上可以解决我的问题,允许我的应用程序的更改在刷新后显示在浏览器窗口中。 所以我安装了霰弹枪gem。 安装成功。 要激活霰弹枪function,您必须在文件名前键入霰弹枪 。 在这种情况下,我的Sinatra应用程序的文件名是shortener.rb 当我输入shotgun shortener.rb来运行我的Sinatra应用程序时,我收到此错误: alt text http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaYEgDUI/AAAAAAAAArE/rr7uJE3dRj4/shotgun_error.png 我还应该提一下,在测试霰弹枪方法以确定它是否有效之前,我安装了杂种(我意识到我应该检查一下,在执行此操作之前,猎枪是否有效,因为安装mongrel会使这个问题复杂化) 。 因此,除了获取上面的错误消息之外,我还从Ruby.exe获取此弹出窗口 alt text http://lh6.ggpht.com/_83PkeFeVNNk/S-ymaaWIZKI/AAAAAAAAArA/8qYCGUN8Wo4/msvcrt-ruby18.dll_error.png 我不知道msvcrt-ruby18.dll是什么,但我知道安装霰弹枪和/或mongrel会造成这个问题。 然后去哪儿? 谢谢,亚当

你最喜欢的Ruby on Rails书籍是什么?为什么?

我正在寻找一些关于RoR的书籍,以帮助自学如何构建可扩展的RoR应用程序。 我已经阅读了RailsS​​pace的书,并且今晚开始了Rails Way的书。 一些感兴趣的主题是: REST – 考虑使用亚马逊的SimpleDB 有效地使用RSpec memcached – 服务器架构和代码实现 mongrel – 服务器架构 MySQL的