Ruby 1.9.1 или Ruby 1.8.7 Enterprise Edition на маленькой виртуальной машине? - PullRequest
1 голос
/ 07 января 2010

Кто-то опубликовал что-то похожее здесь , однако мне интересно, что будет работать быстрее и сэкономит мне больше памяти? Я знаю, что Matz as сделал много улучшений в 1.9, но я также поддерживаю решения, принятые ребятами из Phusion.

Мой вопрос: какой лучше всего работать на моей виртуальной машине, которая имеет только 265 МБ оперативной памяти?

Ответы [ 2 ]

2 голосов
/ 07 января 2010

1.8.7 EE будет более безопасной ставкой прямо сейчас. Основная проблема с приложениями Ruby - это явная неспособность совместно использовать память (проблема копирования при записи) и исправление, которое является основной целью EE.

Я управляю 8 различными сайтами, все запущенные версии нашего продукта работают на смеси Rails, Merb, Rack и Thin и работают на старых старых Ruby 1.8.7. Для небольшого Rails-приложения 256Мб будет в порядке.

Ниже видно, что наше приложение состоит из 6 процессов; Рельсы (2) и Мерб (4). Процессы Rails (mongrel_rails) используют по 104 МБ фактической памяти каждый. Наше приложение достаточно сложное с ответами порядка 0,5 с, поэтому мы рассматриваем возможность обработки около 4/5 одновременных пользователей из процессов 2 Rails. Взгляните на шокирующе маленький объем разделяемой памяти, чтобы понять, почему 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             
2 голосов
/ 07 января 2010

Поскольку Rails 3 будет высоко оптимизирован для Ruby 1.9, а Ruby 1.9 имеет МНОГИЕ подобные оптимизации, которые есть у REE, Ruby 1.9, вероятно, будет очень близко использовать память и быстрее, чем REE.

Иегуда расскажет о Rails 3:

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

Небольшая дискуссия в Google Group о REE для Ruby 1.9

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...