jua*_*tas 4 ruby-on-rails nginx unicorn
我读到,独角兽可以快速提供静态内容,减慢用户速度,重定向.
为什么更好的nginx + unicorn只运行独角兽,并在需要时扩展独角兽工人的数量?
你有没有数字显示nginx在这些事情上的速度有多快(重定向,代理,提供静态内容)?
正如Heroku DevCenter所说,Unicorn工作人员容易受到缓慢客户的攻击.
每个工作人员只能处理单个请求,如果客户端尚未准备好接受整个答案(也称为"慢速客户端"),则Unicorn工作人员在发送响应时被阻止,无法处理下一个响应.由于每个Unicorn工作人员占用了大量的RAM(再次看到Heroku,它声称在512 MiB RAM处理2-4个进程),你不能依赖于工作人员的数量,因为它是关于可以渲染你的数量的客户端数量假装连接速度慢,无法运行应用程序.
当nginx落后时,Unicorn能够将整个答案转储到nginx的缓冲区并立即切换到处理下一个请求.
也就是说,拥有一名Unicorn工作人员的nginx比直接暴露的一群Unicorn工作人员更可靠.
注意:对于那些使用古代Rubies的人来说:如果你将使用一组Unicorn工作者,考虑通过在分叉进程(ref)之间共享公共数据来迁移到至少Ruby 2.0以减少RAM消耗.
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |