mle*_*ers 8 ruby ruby-on-rails passenger nginx
我一直在寻找新乘客5的性能测试,因为我在这里读到它变得更快.
我试图找到其他资源确认这一点,但没有运气.有没有人试图安装它,看到差异?
Chr*_*ald 22
乘客5在自定义基准测试中得分更高,因为它有一个内置的缓存层("turbocaching"),可以避免在短时间内为相同的请求实际运行应用程序代码; 它不会使您的实际应用程序代码运行得更快.此缓存层仅在某些受限情况下有效,并且在绝大多数实际情况下不太可能提供很多好处.如果你不小心,缓存层实际上可能最终会破坏你的应用程序-我演示了几个安全 漏洞,由于在5测试阶段的高速缓存层的Phusion(这是他们固定的,在不能够缓存层的成本缓存几乎一样多).IMO,Raptor/Passenger 5基准是欺骗性的营销漏洞,缓存层主要是为了赢得Hello World基准测试,你应该忽略它们.
也就是说,应用程序服务器的速度几乎肯定在整体应用程序性能范围内无关紧要.乘客是一个很好的平台,因为它非常人性化,文档齐全,拥有绝对出色的安装程序,并且可以为您提供大量烦人的垃圾.如果你需要它提供的功能,你应该使用Passenger,并且不想使用大量的配置.如果它不适合您的用例,请使用其他功能.
如果每一个最后微秒是最关心你的,你应该测量你在各个服务器和不同的工作负载应用程序的性能,然后挑选表现最好的一个.否则,请使用您最喜欢的任何内容,然后在性能成为实际问题时切换.
脚注:如果您确实使用过Passenger 5,请务必阅读Turbocaching安全更改文章,以确保您不会意外地使您的应用程序容易受到用户数据窃取(或以其他方式引入错误)通过turboocaching层.
小智 12
我最近将我的应用程序从Puma迁移到了Passenger.我不得不说我对这一举动感到非常高兴,特别是因为我在Heroku上主持它.
自从我更新到Ruby 2.2后,由于Heroku内存限制(512M),我对Puma有一些内存问题.我尝试了几种不同的配置但没有成功.自从我搬到Passenger之后,我看到内存使用量下降到几乎是我使用相同数量的服务器实例(在我的情况下为3)使用Puma消耗的一半.
关于响应时间,它似乎与以前几乎相同,但随着内存的改进.虽然,我减少了我的Heroku dynos数量来处理相同数量的请求.
总之,根据我的个人经验,Passenger帮助我减少了应用程序使用的内存,但它没有帮助改善平均响应时间.另一个好处是,关于Heroku定价,它帮助我减少了我的托管成本.
我知道这篇文章并不是没有任何基准等等,但我认为也许你会发现从Puma迁移到Passenger的个人经历会很有趣.
希望能帮助到你 :)
小智 5
首先,让我们清楚一点,当我们谈论服务器性能时,问题是服务器随着使用量的增加而扩展的程度.如果您的服务器只有一个或很少的人类用户,对于大多数应用程序而言,无论您使用哪种服务器,您都将获得相同的最终用户体验,因为瓶颈将是Ruby的性能,而不是应用服务器.
适用于大中型应用:
那么让我们谈谈缩放.您拥有的CPU功率和RAM越多,您可以扩展的越多.大多数服务器的RAM耗尽比CPU功率更快.因此,关键是尽量减少每个请求使用的RAM量.服务器接收的每个请求都将由进程或线程处理.进程使用大量RAM,线程使用很少的RAM.因此,目标只是拥有大量线程和少量流程.
Puma和Passenger Enterprise都是多线程服务器,其规模大致相同.(乘客的基准测试声称每个进程使用的RAM减少5MB,但这可以忽略不计.)乘客本身(免费版本)是单线程的,不会像付费的Passenger Enterprise版本或Puma 那样扩展.
因此,如果您想获得最佳性能,您可以选择Puma和Passenger Enterprise.接下来的问题是,乘客企业值得的财务成本与Puma相比是否值得技术专长成本.答案取决于您的大脑中的内容,您的银行账户中的内容以及您的一般机会成本.
如果您不是专家系统管理员,Passenger Enterprise有一些很好的工具可以帮助您.Puma也有一些工具,但它们没有Passenger Enterprise提供的那么强大.如果您希望获得与乘客企业相同的控制和见解,Puma需要系统级专业知识.(您也可以使用Puma而不需要Passenger Enterprise的所有功能,但我想保持这种比较"苹果对苹果").
就个人而言,我是一个喜欢配置服务器的低级别人员,所以我更愿意用我的时间而不是我的钱换一台很棒的Ruby服务器.因此,我使用Puma.如果您对配置低级别的东西不感兴趣(或者如果您是一家实现软件许可证的公司比管理员开发人员便宜),那么使用付费乘客企业许可证可能会更好.
对于运行5美元VPS(或类似的低资源,低流量环境)的人:
我上面所说的更适用于拥有大量资源的服务器上流量较高的应用程序.你只是试图通过基础知识,所以它并不适用于你.
将Puma和Passenger Enterprise视为可以快速移动很多人的大型喷气式飞机.这比你的小应用程序需要的还要多.你真正需要的是相当于本田思域的服务器.为此,您应该考虑Passenger或Thin的免费版本.如果您想要简单的设置和不错的工具,请使用免费乘客.如果您想要类似的性能但是愿意设计服务器,请使用thin.
在这种情况下,除非您正在寻找挑战,否则我认为除了免费乘客之外没有其他任何理由可以使用.
归档时间: |
|
查看次数: |
8550 次 |
最近记录: |