乘客5比麒麟/瘦/美洲豹等性能

我一直在四处寻找新乘客5的性能testing,因为我在这里读到它变得更快。

我试图find其他资源证实这一点,但没有运气。 有没有人试图安装它,看看有什么不同?

谢谢,

Passenger 5在自定义的基准测试中得分更高,因为它有一个内置的缓存层(“turbocaching”),可以避免在短时间内实际运行你的应用程序代码, 它不会使您的实际应用程序代码运行得更快。 这个缓存层只在某些受限制的情况下才是有效的,而且在绝大多数的实际情况下不可能提供太多的好处。 如果你不小心,缓存层实际上可能最终会破坏你的应用程序 – 在5 beta阶段,由于缓存层到Phusion,我展示了一些安全 漏洞 (他们修复了这个漏洞 ,代价是缓存层不能几乎要缓存)。 国际海事组织,猛禽/乘客5基准是欺骗性的营销绒毛,缓存层主要是为了赢得Hello World基准,你应该忽略它们。

也就是说, 应用程序服务器的速度在整体应用程序性能的范围内几乎肯定是微不足道的 。 乘客是一个很好的平台,因为它是非常用户友好的,有充分的文件记录,有一个绝对的梦幻般的安装程序,并为您开箱处理了很多恼人的废话。 如果你需要它提供的功能,你应该使用Passenger,并且不想用大量的配置。 如果它不适合您的使用情况,请使用其他方法。

如果每一个微秒都是您最关心的问题,那么您应该在各种网络服务器和各种工作负载下测量应用程序的性能,然后选择性能最好的那个。 否则,使用任何你最喜欢的,然后切换一次性能成为一个实际的问题。

脚注:如果您使用Passenger 5,请务必阅读Turbocaching安全性更改文章,以确保您不会意外使您的应用程序容易受到用户数据盗用(或以其他方式引入漏洞)通过turbocaching层。

我最近将我的应用程序从Puma迁移到Passenger。 我不得不说,我对这个举动感到非常高兴,特别是因为我在Heroku上托管它。

由于我更新到Ruby 2.2,由于Heroku内存限制(512M),我有一些与Puma有关的内存问题。 我尝试了几个不同的配置,但没有成功。 自从我搬到Passenger之后,我发现内存使用率几乎降低了一半,而Puma使用相同数量的服务器实例(我的情况是3)。

关于响应时间,它似乎与以前几乎一样,但有了这些内存的改进。 尽管如此,我减少了Heroku dynos的数量来处理同样数量的请求。

总之,根据我的个人经验,Passenger帮助我减少了应用程序使用的内存,但并没有帮助提高平均响应时间。 另一个好处是,关于Heroku的定价,它帮助我减少了我的托管成本。

我知道这篇文章不是没有任何基准测试的详尽资料……但是我想也许你会觉得有一个从Puma到Passenger的迁移的亲身经历是很有趣的。

希望能帮助到你 :)

首先,让我们清楚一点,当我们谈论服务器性能时,问题是服务器随着使用率的增长而变化。 如果您的服务器拥有一个或很少的人类用户,那么对于大多数应用程序,无论您使用哪个服务器,您都将获得相同的最终用户体验,因为瓶颈将是Ruby的性能,而不是应用程序服务器。


对于大中型应用程序:

所以我们来谈谈缩放。 您拥有的CPU功率和内存越多,可以扩展的越多。 大多数服务器的内存耗尽速度超过CPU的功耗。 所以关键是要减少每个请求使用的RAM数量。 服务器收到的每个请求将由进程或线程处理。 进程使用大量的RAM,线程使用很少的RAM。 所以目标就是拥有大量的线程和很少的进程。

彪马和乘客企业都是多线程服务器,将大致相同的规模。 (Passenger的基准测试声称每个进程使用5MB的内存,但这是微不足道的。)Passenger本身(免费版本)是单线程的, 不会像支付的Passenger Enterprise版本或Puma 那样扩展。

所以如果你想获得最高的性能,你可以选择Puma和Passenger Enterprise。 问题就成为,乘客企业是值钱财务成本与彪马相当的技术专长成本。 答案取决于你的大脑里有什么,你的银行账户里有什么,以及你的一般机会成本。

如果您不是专家系统管理员,乘客企业有一些很好的工具可以握住您的手。 彪马也有一些工具,但它们并不像旅客企业提供的那样强大。 Puma需要系统级的专业知识,才能获得和乘客企业一样的控制力和洞察力。 (您也可以使用Puma而不用所有的乘客企业的花里胡哨的,但我想保持这个比较“苹果到苹果”)。

就我个人而言,我是一个喜欢配置服务器的低级别人,所以我更愿意把我的时间,而不是我的钱交换成一个真棒的Ruby服务器。 所以我用彪马 如果您对配置低级别的东西不感兴趣(或者如果您是一家实现软件许可证比管理员开发者便宜的公司),那么使用付费的Passenger Enterprise许可证可能会更好。


对于运行价值5美元的VPS(或类似的低资源,低流量的环境)的家伙来说:

我上面所说的更多的是对拥有相当资源的服务器上的更高流量的应用程序。 你只是想通过基础知识,所以它不适用于你。

把彪马和客运企业看成是可以让很多人快速流动的巨型喷气机。 这比你的小应用程序需要更多。 你真正需要的是相当于本田思域的服务器。 为此,您应该考虑Passenger或Thin的免费版本。 使用免费的乘客,如果你想要简单的设置和体面的工具。 如果您想要类似的性能,但愿意设计服务器,请使用精简。

在这种情况下,除非你正在寻找一个挑战,否则我没有理由使用任何东西,除了免费的乘客。

正如其他人所说,乘客本身并不会让您的应用程序本身更快。 乘客本身在版本5中变得更快,但是应用服务器只是响应时间的一部分。 如果你的应用程序很慢,那么乘客本身的速度有多快并不重要。

话虽如此,乘客通过积极地帮助您使应用程序更快速地与其他应用程序服务器区分开 。 乘客的涡轮增压是乘客可以帮助您的一种方式。 动态网站与“猛禽”静态生成的动态网站一样快速展示了涡轮缓存的良好用例。 乘客还提供了一个优化指南 ,为您提供如何使用乘客设置优化您的应用程序的技巧。