这似乎是理所当然的,你一定不能使用Webrick作为生产服务器,但我真的找不到任何地方提到为什么。大家的共识似乎是:"Webrick是可以开发的,但Thin或Unicorn是生产的选择,就这样。“
我确实查看了瘦服务器的主页,它谈到了请求/秒,但我并不是真的理解这个图表,因为没有注释。
有人能让我知道为什么我应该使用Thin或Unicorn而不是Webrick吗?另外,使用Webrick进行开发有什么好处吗?自从Webrick与rails一起使用以来,我一直在使用它,我认为它是默认的应该有一个原因。
顺便说一下,我用的是Heroku。
发布于 2012-06-02 04:01:58
几个重要的原因
当我提到重定向/重写时,我指的是使用Webrick时,您必须在不同的层处理重写(Rack、Sinatra、Rails、自定义Webrick代码等)。这需要使用额外的ruby“处理程序”来执行重写代码。对于低流量的站点,这可能很好,因为您可能已经有了预热的进程,而不做任何事情。然而,对于更高流量的站点,这是服务器上的额外负载,前端服务器(Apache、Nginx等)可以在不加速Ruby*的情况下处理这些负载,而且速度可能要快几个数量级。
*例如,如果您在负载均衡器后面运行,则可以将所有重写流量路由到未安装ruby的服务器,并让您的主服务器仅管理主要流量。这种重写流量可能是由于搜索引擎优化的网站变化,或类似的东西。另一种情况是站点有多个组件,可能一部分是Rails,另一部分是PHP,这两个部分都需要重写(即重写旧的PHP路径到Rails)。
发布于 2014-06-29 21:17:59
WEBrick也不能处理更长的URI,如果它们超过2083个字符,就会崩溃。Thin没有这些问题,这使得它更优越--它已经在开发中了。
发布于 2014-01-06 00:32:15
我真的不喜欢把简单的事情复杂化和过早的优化。WEBrick可以在production中使用,前提是它是一个流量相当低的网站。大多数应用程序都是。
如果你的网站做一些需要时间的事情,例如发送电子邮件或生成PDF文件,you should make WEBrick multi-threaded。您希望一次处理多个请求。
https://stackoverflow.com/questions/10859671
复制相似问题