Рубиний + Падрино на производстве?

Кто-нибудь запускает padrino на Rubinius + Puma в производстве? Если да, то насколько он стабилен? Это лучше, чем МРТ + тонкий? Я думаю попробовать, но немного беспокоюсь о его стабильности.


person Kiran Raj    schedule 05.02.2014    source источник


Ответы (2)


Я использую Puma в продакшене, она хороша для стабильности и дает отличную скорость. Бывают случаи, когда вы должны выбрать Thin (помните, что вы находитесь в цикле событий), а иногда вам следует выбирать Puma. Выбор Thin перемещает параллелизм с уровня кода на уровень ввода-вывода, поэтому Thin хорош для работы с большим количеством соединений в реальном времени или с постоянными соединениями, такими как чат-сервер или приложение реального времени. Что-то, где приложение предназначено для обслуживания разных страниц, вам нужен небольшой объем памяти и хорошее переключение контекста, такие вещи, как предварительное разветвление (например, Unicorn) или работа на Rubinius-версии Ruby с Puma, которая упрощает кодирование параллелизма, потому что она будет хорошо работать с многопоточностью. в отличие от чего-то вроде MRI с глобальной блокировкой интерпретатора. JRuby, например, использует собственные потоки и поэтому будет использовать все доступные процессоры, так что при определенных обстоятельствах это может быть полезно.

См. http://ylan.segal-family.com/blog/2013/05/20/unicorn-vs-puma-redux/.

Я никогда не использовал Падрино, но не понимаю, почему это может быть таким же важным фактором, как ваш код.

person iain    schedule 05.02.2014

Глупо спрашивать, что лучше, потому что только вы можете сказать, хорошо ли что-то и работает ли оно за вас или нет.

Есть определенные факторы, которые вы можете использовать, чтобы определить, подходит вам Rubinius или нет.

Задайте себе эти вопросы:

  • Ты вообще знаешь, кто такой Рубиний?
  • Почему вы рассматриваете Рубиния?
  • Вы сравнивали свое приложение с обеими средами выполнения?
  • Что говорят ваши тесты? У вас есть тесты?

Вероятно, есть еще вопросы, но, похоже, вы просто ищете что-то новое, верно? :)

Вы можете присоединиться к #rubinius на freenode, чтобы задать свои вопросы.

person three    schedule 06.02.2014
comment
Нет GIL — несколько потоков могут выполнять код виртуальной машины параллельно. Генерационный ГК. Меньший объем памяти по сравнению с JRUBY. EvenMachine работает нестабильно - сам такого не наблюдал, но постоянно слышу от людей. Итак, все эти причины заставили меня присмотреться к Рубинию. - person Kiran Raj; 07.02.2014