2012-03-20 3 views
47

Недавно я «обновил» свое приложение на платформе кедра на героку. По умолчанию я использую thin в качестве веб-сервера. Но у меня всегда возникало соблазн использовать unicorn для параллелизма, и мой дино-доллар пошел отцом. Но я беспокоюсь, что есть кое-какие ошибки в использовании чего-то другого, кроме Тонкого.Должен ли я использовать тонкий или единорог на кедрах Героку

У кого-нибудь есть реальный жизненный опыт с этим решением?

Спасибо!

Джонатан


Примечание:

Я хочу знать причины, почему все не должны делать это

+0

это хорошая статья. спасибо за обмен – Andrew

ответ

28

Обновление - через 3 месяца.

Я использую единорог в производстве в течение 3 месяцев, и я был очень доволен. Я использую 4 рабочих единорога на динамо.

Единственное, что вам нужно - следить за потреблением памяти и утечкой. Фактически вместо того, чтобы иметь 512 МБ памяти на дину - у вас есть то, что делится на число героевских работников. Но держать это в виду - это была большая стоимость заставки

+0

Спасибо за совместное использование ... Я оцениваю то же движение и даже сделал некоторые [сканирование для моего приложения] (http://ylan.segal-family.com/blog/2012/08/20/better-performance -он-Heroku-редеет-против-единорог-против-пумы /). Это определенно похоже, что единорог приведет к некоторой экономии. –

+0

Чтобы повысить ценность вашего ответа, включите инструкции или ссылки на инструкции по использованию Unicorn. Потому что я думаю, вот что я сделаю! – slothbear

+1

Знаете ли вы, есть ли проблема с использованием глобальных переменных (например, каждый рабочий хранит свои собственные глобальные переменные или они совместно используют/сбивают одну и ту же глобальную область)? Это не общий шаблон в MVC, но мы используем его в некоторых местах. Благодаря! –

7

Нет причин не делать этого - я использую Единорог на Heroku с большим успехом.

6

Heroku только что написал пост об использовании Unicorn: https://blog.heroku.com/archives/2013/2/27/unicorn_rails

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

+0

Yah.Вот почему Heroku теперь толкает Unicorn: http://stackoverflow.com/a/19965981/1233555 – ChrisPhoenix

0

Если вы используете Thin, и ваш код не очищает запросы очень быстро, значит, у вас проблемы - поскольку Heroku использует случайную маршрутизацию, запросы будут складываться на заблокированном dyno, даже если есть свободные динамики. Использование Unicorn кажется лучше, если вы можете справиться с ударом памяти, потому что менее вероятно, что все ваши вилки будут получать медленные запросы одновременно. Он не решает проблему случайной маршрутизации Heroku, но это должно многое помочь.

ссылки и объяснения в этом ответе:

https://stackoverflow.com/a/19965981/1233555