作为的WEBrick生产服务器与薄或独角兽?(Webrick as production serve

2019-06-25 03:17发布

它好像它想当然地认为,你不能使用的WEBrick作为生产服务器,但我真的不能找到任何地方提的原因。 的共识似乎是:“使用WEBrick是好的发展,但薄或独角兽是生产,周期的选择。”

我没有抬头瘦服务器的主页和它谈论请求/秒,但我真的不明白的图形,因为没有注释。

任何人都可以让我知道为什么我应该使用细或独角兽相比,使用WEBrick? 也有使用的WEBrick发展任何好处? 我一直在使用的WEBrick,因为它带有轨道,我觉得应该有一个原因,它的默认值。

我使用的Heroku的方式。

Answer 1:

一对夫妇的重要原因

  1. 它是用Ruby编写的(见http://github.com/ruby/ruby/tree/trunk/lib/webrick )
  2. 编辑它不具有许多功能,生产网站通常需要,如多工(尤其是预分叉,生命周期管理,异步处理等),重定向,重写等

当我提到重定向/重写,我指的是一个事实,即使用的WEBrick,你必须在不同的层(机架,西纳特拉,导轨,自定义的WEBrick代码等)来处理重写。 这需要你旋转起来额外的红宝石“处理程序”来执行你重写代码。 对于低流量的网站,这可能是罚款,你可能什么都不做已经预热的过程。 然而,对于较高的流量的网站,这是服务器上的额外负载的东西,前端服务器(Apache时,Nginx的,等等)可以处理不旋转起来红宝石*,大概快几个数量级。

* 例如,如果运行负载平衡器之后,你可以将所有重写流量是没有安装红宝石,让你的主服务器只管理主要业务的服务器。 这种重写的流量可能是由于网站SEO,或类似的东西改变。 另一种情况是,其具有多个部件的位点,也许一个部分是导轨,另一个是PHP,并且需要两个重写(即改写旧PHP路径Rails)的



Answer 2:

使用WEBrick也不能处理更长的URI,如果他们超过2083个字符,你会看到一个崩溃。 瘦身不存在这些问题,这使得它卓越的 - 已经在开发中。



Answer 3:

我真的不喜欢复杂的事情简单的和不成熟的优化。 使用WEBrick可以在生产中提供这是相当低流量的网站使用。 大多数应用程序都是。

如果你的网站做一些事情,需要一定的时间,如发送电子邮件或生成PDF文件, 你应该做的WEBrick多线程 。 你要同时处理多个请求。



Answer 4:

它已在过去的一些安全问题,但它似乎很大的原因是,它比那些用于生产的服务器是很慢的。



Answer 5:

在生产模式下运行时的WEBrick最致命的弱点是,它是单线程,单进程的Web服务器,这意味着它能够服务在同一时间只有一个单一的HTTP请求。



文章来源: Webrick as production server vs. Thin or Unicorn?