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

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

我正在优化我们的系统以实现更快的静态内容交付,并想知道是否有人有使用最快的网络服务器的适当经验。

从我考虑过的三个主要候选者来看,Nginx、Cherokee 和 Lighttpd,每个似乎都有自己的问题 - 但我在网上读到的报告有些偏颇,倾向于用户当前正在使用的服务器。

有没有关于在哪里可以找到适合此特定目的的基准,或者至少是一份公正的利弊清单?我应该注意哪些个人经历​​和陷阱?

谢谢

编辑:Serverfault.com 给出的答案是 nginx。我仍然想听听来自宇宙另一端的一些开发人员的想法。

答案1

一些额外的链接和评论:

  • 最近有一个基准比较 Nginx、Apache、Varnish 和 GWan 对 100 字节静态文件的服务。
  • 切诺基网站有几个基准比较 Nginx 和 Lighttpd。
  • 更多链接:
  • 请注意,基准测试通常具有较窄的有效范围,尤其是在请求率如此之高的情况下。例如,如果您提供的只是 100 字节文件,则第一个基准测试没有问题,但如果使用 1kb、10kb 或一系列静态文件大小,结果可能会有很大不同。许多已发布的基准测试还存在这样的问题:作者只对其中一种产品有丰富的经验,这意味着该产品的配置非常好,而对其他产品没有经验,这意味着它们的配置不是最优的甚至是糟糕的,这会使结果产生偏差。
  • 在如此高的请求率下,许多因素都会影响基准测试结果。不仅是 Web 服务器配置,还有操作系统配置和硬件本身。例如,使用 SSD 驱动器可能会增加请求率,但可能与 Web 服务器 X 配合得比 Y 更好。
  • 不要只看基准测试中的最大请求率,还要考虑平均值和最小值。例如,查看第一个基准测试链接中的 Apache 结果。
  • 最好的基准测试是使用您所使用的硬件上的文件自己进行的测试。即使是快速基准测试也可能揭示其他已发布结果中未显示的问题和影响。
  • 在这个规模下,每秒处理 15k 或 20k 个请求真的很重要吗?例如,在 20kr/sa 下,1.7kb 文件每月需要大约 100TB 的带宽。相比之下,购买另一台(或 10 台)服务器所需的带宽成本会很便宜。我不会只根据哪台服务器的“数量”最大来选择,还会考虑它的设置/使用是否容易,是否符合所需的功能集,是否得到良好的支持等……

就我个人而言,我已经使用 Lighttpd 多年,对它非常满意。事实上,在 Cherokee 基准测试结果中,它与 Nginx 相比的表现让我感到惊讶。

答案2

我没有读过这篇文章——似乎没有在线,是搜索后才找到的——但只要看一下 Alvaro 在他的博客上发布的一张图表,我就想知道为什么 Linux Format 基准测试偏向于 Cherokee 以外的服务器。它恰好包括了服务器的版本号,有些事情让我感到奇怪,所以我做了一些研究:

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)

全新版的 Cherokee 与旧版 Cherokee 展开竞争——在某些情况下,很多较旧——其他服务器的版本。因此我不会太看重结果,尤其是因为最具竞争力的服务器 Nginx 自他们测试的版本以来已经发布了一个主要版本。

答案3

LinuxFormat Magazine(2011 年 3 月,第 142 期)包含 Apache、Cherokee、Lighttpd 和 Nginx 的基准测试。其中 Cherokee 是最快的,比 Apache 快 2 倍以上,比 Nginx 快 20% 之多。

答案4

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

相关内容