我计划建立一个简单的CMS网站,用户可以在其中发布和查看包含视频、照片和文本的帖子。
我想做出的一个决定是选择Ruby Enterprise Edition 还是 Ruby 1.9。
以下是我关心的事项的优先级:
- 性能和可伸缩性。
- 与现有gem/插件/开源项目的兼容性。
- 开发和部署速度(我将在VPS上进行部署)。
你有什么建议?
我计划建立一个简单的CMS网站,用户可以在其中发布和查看包含视频、照片和文本的帖子。
我想做出的一个决定是选择Ruby Enterprise Edition 还是 Ruby 1.9。
以下是我关心的事项的优先级:
你有什么建议?
根据我的经验,REE倾向于在奇怪的地方抛出mallocs(例如2009年1月脚本/控制台中的tab补全 - https://webrat.lighthouseapp.com/projects/10503/tickets/89-excessive-output-caused-by-and-only-by-running-webrat)。
Ruby 1.9.1存在一个大缺陷,在tempfile中会导致Rack崩溃(2009年8月243补丁级别存在此问题 - http://groups.google.com/group/rack-devel/browse_thread/thread/a2aab3a4720f34c4?pli=1)。此外,我认为Ruby 1.9.1与Rails 2.3.4配合使用未经充分测试(String exclusive or - https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/3144-undefined-method-for-string-ror-234)。
老实说,这取决于您对惊喜的反应速度。我在运行2.3.3的服务器上使用1.9.1的旧patch级别,除了Net :: HTTP中的一个补丁以与ActiveResource一起使用外,它运行得非常快。
如果您不喜欢惊喜,请坚持使用1.8.7。
更新于2010年10月10日
现在,对我的问题的答案已经失效,Ruby EE和1.9.2都是非常好的Ruby实现!
我不太确定我会选择哪个版本,可能是1.9.2版本,或者等待Phusion的团队推出他们正在开发的1.9版本,因为他们正在开发REE的1.9版本 - 不过他们的1.8.7 REE已经非常稳定了。
我的建议是尽可能选择1.9.2,因为1.9.2比REE和MRI 1.8.7快得多。但请记住,与REE相比,1.9.2像其MRI 1.8.7一样不是完全优化的版本,因此您会看到更多的RAM被占用。如果您还不能升级到1.9.2,我建议您坚持使用REE。
更新:REE刚刚合并了来自MRI 1.8.7-p334的所有更改,所以它很好用;)