我的问题:Ruby 1.9.3的Rails 3.2应用程序怎么样?独角兽还是美洲豹?
解决方法
http://ylan.segal-family.com/blog/2013/05/20/unicorn-vs-puma-redux/
Unicorn是一个Rack HTTP服务器,它使用分支进程来同时处理多个传入请求.
>流程管理:独角兽将收获并重启死亡的员工
从破碎的应用程序.没有必要管理多个进程
端口你自己独角兽可以产生和管理任何数量的工人
您选择的流程扩展到您的后端.
>负载平衡完全由操作系统内核完成.
在忙碌的工作过程中,请求永远不会堆积.
>不管你的应用程序是否线程安全,工作人员都不在乎
在自己的隔离地址空间内运行,只提供一个
客户端一次最大的鲁棒性.
>支持所有机架应用程序,以及Ruby的前Rack版本
在Rails上通过机架包装.
>内置通过USR1重新打开应用程序中的所有日志文件
信号.这允许logrotate以原子和速度旋转文件
通过重命名,而不是racy和slow copytruncate方法.独角兽
还采取措施确保来自一个请求的多行日志条目
都保留在同一个文件中.
> Nginx风格的二进制升级而不会丢失连接.您可以
升级Unicorn,您的整个应用程序,库甚至您的
Ruby解释器不会丢弃客户端.
> before_fork和after_fork钩子,以防您的应用程序出现
处理分叉过程时的特殊需求.这些不应该
当“preload_app”伪指令为false时(默认值)需要.
>可以使用随便写入的内存管理来保存
内存(通过将“preload_app”设置为true).
>可以在多个接口(包括UNIX套接字)上进行侦听
工作进程也可以通过after_fork绑定到专用端口
钩子容易调试.
>简单易用的Ruby DSL配置
>即时解码分块传输,从而允许上传进度
通知将被实施并能够隧道化
基于HTTP的任意流式协议.
对于Puma(所谓的服务器杂讯的较新版本)
Puma是Ruby Web应用程序的简单,快速,高度并发的HTTP 1.1服务器.它可以用于支持Rack的任何应用程序,并被认为是Webrick和Mongrel的替代品.它被设计为Rubinius的去服务器,但也与JRuby和MRI良好. Puma适用于开发和生产环境.
美洲狮是速度和并行性的最爱
如果你想看速度比较,那么美洲豹是最好的.
为了更多你可以看到http://puma.io/
谢谢