Puma Web服务器

Puma是一个专为并发构建的RubyWeb服务器。Puma是用于Ruby/Rack应用程序的简略,快速,多线程,高度并发的HTTP1.1服务器。它仅适用于运行Rack应用程序。

专为进步速度和并发性而规划

Puma使用C优化的Ragel扩展(继承自Mongrel)处理恳求,该扩展以可移植的方式供给快速,精确的HTTP1.1协议解析。然后,Puma使用线程池处理恳求。每个恳求都在独自的线程中处理,因此真实的并发Ruby完成(JRuby,Rubinius)将使用所有可用的CPU内核。

Puma被规划为Rubinius的首选服务器,但与JRuby和MRI配合也很好。

在MRI上,有一个全局VM锁(GVL),可确保一次只要一个线程能够运行Ruby代码。可是,假如您要进行大量的阻塞IO(例如对外部API(如Twitter)的HTTP调用),Puma依然能够通过允许IO等候并行进行来进步MRI的吞吐量。

快速开始

$geminstallpuma

$puma

假如没有参数,puma将在名为config.ru的工作目录中寻找一个rackup(.ru)文件。,

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论