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

Swa*_*der 12 nginx lighttpd cherokee

我正在优化我们的系统以实现更快的静态内容交付,并且想知道是否有人对最快的 Web 服务器有任何适当的经验来实现这一目的。

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

关于在哪里可以看到针对此特定目的的适当基准的任何想法,或者至少是无偏见的利弊列表?我应该有所不同的任何个人经历和陷阱?

谢谢

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

ues*_*esp 12

一些额外的链接和评论:

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

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