Должен ли я использовать тонкий или единорог на Heroku Cedar - PullRequest
47 голосов
/ 20 марта 2012

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

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

Спасибо!

Jonathan


Примечания:

  • Эта статья вдохновила меня на эту идею: http://michaelvanrooijen.com/articles/2011/06/01-more-concurrency-on-a-single-heroku-dyno-with-the-new-celadon-cedar-stack/
  • Я знаю, что каждое приложение отличается от других, и вам следует создать промежуточную среду и попробовать ее самостоятельно. Но если это прекрасно смотрится в вашей постановочной среде, есть ли какие-нибудь подводные камни, о которых мы должны знать?

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

Ответы [ 4 ]

28 голосов
/ 22 июня 2012

Обновление - 3 месяца спустя.

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

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

7 голосов
/ 21 марта 2012

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

6 голосов
/ 28 февраля 2013

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

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

0 голосов
/ 14 ноября 2013

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

Ссылки и пояснения в этом ответе:

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

...