Should I use thin or unicorn on Heroku Cedar

2020-05-13 09:48发布

I recently 'upgraded' my app to the cedar platform on Heroku. By default, I am using thin as a web server. But I have always been tempted to use unicorn for concurrency and having my dyno dollar go father. But I worry there are some gotchas in using something other than Thin.

Does anyone have real-life experience with this decision?


Notes:

I want to know reasons why everyone shouldn't do this

4条回答
戒情不戒烟
2楼-- · 2020-05-13 10:01

Heroku has just written a post about using Unicorn : https://blog.heroku.com/archives/2013/2/27/unicorn_rails

I'll try it now, it seems like it's the way to go, both for performance and cost saving.

查看更多
太酷不给撩
3楼-- · 2020-05-13 10:11

No reason not to do it - I use Unicorn on Heroku with much success.

查看更多
小情绪 Triste *
4楼-- · 2020-05-13 10:22

Update -- 3 months later.

I have been using unicorn in production for 3 months, and I have been very pleased. I use 4 unicorn workers per dyno.

One thing you do need to keep an eye out for is memory consumption and leakage. In effect instead of having 512MB of memory per dyno -- you have that divided by the number of heroku workers. But keeping that in mind -- it has been a great cost saver

查看更多
叼着烟拽天下
5楼-- · 2020-05-13 10:27

If you use Thin, and your code doesn't clear requests very quickly, then you're in trouble - since Heroku uses random routing, requests will stack up on a blocked dyno even if there are free dynos. Using Unicorn seems better, if you can handle the memory hit, because it's less likely that all of your forks will get slow requests at the same time. It doesn't solve Heroku's random-routing problem, but it should help a lot.

Links and explanations in this answer:

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

查看更多
登录 后发表回答