用于提供静态内容的最快Web服务器

我正在优化我们的系统以获得更快速的静态内容传输,并且想知道是否有人为了这样的目的而使用最快速的Web服务器有适当的经验。

从我考虑的三位主要候选人中,Nginx,Cherokee和Lighttpd,似乎都有自己的问题 – 但是我在网上阅读的报告有点偏向于倾向于用户目前使用的服务器。

任何想法在哪里看到一个适当的基准为这个特定的目的,或者至less是一个没有偏见的优点和缺点列表? 任何个人经验和陷阱我应该有所不同?

谢谢

编辑:Serverfault.com作为nginx的答案。 我仍然希望从宇宙的这一端听到一些开发人员的想法。

一些额外的链接和评论:

  • 最近有一个比较Nginx,Apache,Varnish和GWan的基准 ,用于服务100个字节的静态文件。
  • 切诺基站点有一些比较Nginx和Lighttpd的基准 。
  • 更多链接: 一 , 二 , 三 , 四 , 五
  • 请注意,基准testing通常具有较窄的有效性,尤其是在这么大的请求率下。 例如,如果所有的服务都是100字节的文件,那么第一个基准是好的,但是如果使用1kb,10kb或者一系列的静态文件大小,结果可能会有很大的不同。 很多已发布的基准testing还存在这样的问题,即作者对于其中一个产品有着良好的经验,这意味着它具有非常好的configuration,而不是其他产品,这意味着它们具有不理想或者甚至是不好的configuration,结果。
  • 在这么大的请求率下,会有很多事情会影响基准testing结果。 不仅是Web服务器configuration,还有OSconfiguration和硬件本身。 例如,使用SSD驱动器可能会提高请求率,但可能比Y服务器更适合Web服务器X.
  • 不要只从基准testing中看到最大的请求率,而是考虑平均值和最小值。 例如,从第一个基准testing链接看Apache的结果。
  • 最好的基准是做你自己使用你正在使用的硬件服务的文件。 即使是快速的基准testing也可能揭示其他发表的结果所不具有的问题和影响
  • 在这样的规模下,如果你能提供15k或20k的请求/秒,真的很重要吗? 例如,20kr / sa 1.7kb的文件将需要大约100TB的带宽。 对于带宽将花费购买另一台服务器(或10)的金额将比较便宜。 我不会select由哪个服务器给出最大的“数字”,而是要考虑设置/使用是多么容易,它是否匹配所需的function集,是否支持,等等。

就我个人而言,我已经使用了Lighttpd多年,并不能幸福。 我实际上对于它在Cherokee基准testing结果中与Nginx相比performance感到惊讶。

LinuxFormat杂志(第142期,2011年3月)包括Apache,Cherokee,Lighttpd和Nginx的基准。 切诺基是最快的,比Apache的x2多,比Nginx快20%。

如果它是纯粹的静态内容,那么你只需要在真正的Web服务器前面有一个很好的caching,我使用Zeus的ZXTM,但是还有很多其他的select。

我没有阅读过这篇文章,似乎没有上线,它正在寻找让我来到这里的东西 – 只是看着Alvaro发布到他的博客上的一张图表,让我想知道为什么Linux格式基准是针对切诺基以外的其他服务器。 它恰巧包含了服务器的版本号,有些东西让我感到奇怪,所以我做了一些研究:

Server | Tested (Released) | Current (Released) ---------+---------------------+-------------------- Apache | 2.2.14 (2009-10-05) | 2.2.17 (2010-10-19) Cherokee | 1.0.15 (2010-12-29) | 1.0.15 (2010-12-29) Lighttpd | 1.4.26 (2010-02-07) | 1.4.28 (2010-10-22) Nginx | 0.7.65 (2010-02-01) | 0.8.54 (2010-12-14) 

一个shiny的新版本的切诺基被放在了反对更老的—在某些情况下, 老的—释放其他服务器。 所以我不会对结果给予太多的重视,特别是因为最有竞争力的服务器,Nginx,自他们testing版本以来已经有了一个主要版本。

看一下

http://www.acme.com/software/thttpd/

贝宝使用它来提供静态内容。