小型虚拟机上的Ruby 1.9.1或Ruby 1.8.7企业版?

时间:2010-01-07 00:27:38

标签: ruby

有人发布了类似here的内容,但是我很好奇哪个会运行得更快并且为我节省更多内存?我知道Matz在1.9中做了很多改进,但我也支持Phusion人员做出的决定。

我的问题是哪个最好在我的VM上运行,只有265mb的ram?

2 个答案:

答案 0 :(得分:2)

由于Rails 3将针对Ruby 1.9进行高度优化,并且Ruby 1.9具有与REE相似的许多优化,因此Ruby 1.9可能在内存使用方面非常接近,并且比REE更快。

Yehuda谈论Rails 3:

http://railsonedge.blogspot.com/2009/03/yehuda-katz-talks-about-rails-30.html
http://www.oreillynet.com/pub/e/1338

Tiny Google Group讨论有关Ruby 1.9的REE

http://groups.google.com/group/emm-ruby/browse_thread/thread/b5ab0f02c3faac7e#

答案 1 :(得分:2)

1.8.7 EE现在是一个更安全的赌注。 Ruby应用程序的主要问题是明显无法共享内存(写入时复制问题)和修复这是EE的主要目标。

我管理着8个不同的网站,所有运行版本的产品都运行在Rails,Merb,Rack和Thin上,所有这些都在普通的Ruby 1.8.7上运行。对于小型Rails应用程序,256Mb就可以了。

您可以从下面看到我们的应用程序由6个进程组成; Rails(2)和Merb(4)。 Rails进程(mongrel_rails)每个都使用104Mb的实际内存。我们的应用程序相当复杂,响应时间为0.5秒,因此我们希望能够处理来自2个Rails进程的大约4/5个并发用户。看一下令人震惊的少量共享内存,看看EE为何如此有意义。我希望与EE有更高的共享部分。

正如他们所说'你的经历可能会有所不同',但是如果你需要的话,甚至没有什么可以阻止你尝试普通的Ruby / Rails,而只是转向EE。

top - 08:57:48 up 128 days, 11:57,  1 user,  load average: 0.07, 0.09, 0.09
Tasks:  76 total,   1 running,  75 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  0.1%sy,  0.0%ni, 96.2%id,  0.0%wa,  0.0%hi,  0.0%si,  1.3%st
Mem:   1048796k total,   745840k used,   302956k free,     5192k buffers
Swap:  2097144k total,   634636k used,  1462508k free,   124816k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                 
25875 root      20   0  271m 104m 4616 S    0 10.2 141:07.07 mongrel_rails                                                                            
25872 root      20   0  263m 102m 4648 S    0 10.0 142:11.86 mongrel_rails                                                                            
21089 root      20   0  192m  84m 2436 S    0  8.3   2:52.03 merb                                                                                     
21088 root      20   0  173m  80m 2436 S    0  7.9   2:51.73 merb                                                                                     
21090 root      20   0  179m  74m 2436 S    0  7.3   2:42.83 merb                                                                                     
21086 root      20   0  113m  34m 1660 S   11  3.4   3752:37 merb                                                                                     
 4874 clavis    20   0  122m  31m 3804 S    0  3.1 127:52.87 profile_report                                                                           
 3662 mysql     20   0  368m  22m 3280 S    0  2.2 464:01.81 mysqld