Han*_*son 7 ruby concurrency ruby-on-rails
Ruby on Rails不能很好地执行多线程请求 - 响应,或者至少ActiveRecord没有.
在创建Web应用程序时,只有一个请求响应同时处于活动状态的概念可能会很麻烦,这些应用程序会分离需要很长时间才能完成的shell命令.
我想要的是你对这些设置的一些看法?Rails可能不适合某些应用程序吗?
另外,Ruby on Rails中关于并发性的当前事态是什么?什么是最佳实践.有缺点的解决方法吗?
Rails 目前不处理单个 MRI(Matz Ruby Interpreter)Ruby 进程中的并发请求。每个请求本质上都是用一个巨大的互斥体包装的。为了使即将推出的 Rails 2.2 成为线程安全的,我们已经做了很多工作,但在 Ruby 1.8x 下运行时,您不会从中获得很多好处。我无法评论 Ruby 1.9 是否会有所不同,因为我对它不是很熟悉,但可能不是我想到的。
在这方面看起来确实很有前途的一个领域是使用 JRuby 运行 Rails,因为人们普遍认为 JVM 擅长多线程。Sun Microsystems 的Arun Gupta最近在 RailsConf Europe 上提供了有关此设置的一些有趣的性能数据。