只是想获得人们对使用 Unicorn vs Thin 作为 Rails 服务器的意见。我在网上找到的大多数文章/基准似乎都很不完整,所以最好有一个集中的地方来讨论它。
Unicron 是多进程服务器,而 Thin 是基于事件/非阻塞的服务器。基于事件的服务器很棒......如果您的代码是异步/非阻塞的 - vanilla rails 是阻塞的。因此,除非您使用非阻塞 Rails 库,否则我真的看不到使用 Thin 的优势。更糟糕的是,在非阻塞服务器中,如果您的 i/o 循环阻塞,您将阻塞整个循环,并且在阻塞调用返回之前无法处理更多请求。阻塞库会变慢!
为什么 Heroku 选择 Thin 作为他们的默认服务器(对于 cedar)?他们是聪明人,所以我相信他们是有原因的。
Bellow 是一个链接,建议用 4 个 Unicorn 工人替换 Thin - 这对我来说非常有意义。 Heroku 上的 4 名 Unicron 工作人员