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)文件。,
© 版权声明
© 版权声明
文章版权归作者所有,未经允许请勿转载。
Tips:本站所有资源均收集自互联网,分享目的仅供学习参考,资源版权归该资源的合法拥有者所有。
Tips:若本站所发布的资源侵犯到您的合法权益,请及时联系 hqteam@qq.com 删除!
Tips:本站所有资源均收集自互联网,分享目的仅供学习参考,资源版权归该资源的合法拥有者所有。
Tips:若本站所发布的资源侵犯到您的合法权益,请及时联系 hqteam@qq.com 删除!
THE END
暂无评论内容