大多数网络服务器基准测试都没用吗?

大多数网络服务器基准测试都没用吗?

有大量的基准测试,比较 Apache、nginx、lighttpd、LiteSpeed/OpenLiteSpeed、Cherokee 等。

不幸的是,似乎大多数基准测试都是“小静态文件”类型,这是相当没用的......谁会使用网络服务器来提供小静态文件呢?

为什么没有人对 php 应用程序的默认安装运行基准测试,例如:

  • WordPress
  • Drupal
  • phpBB
  • 梅纳尔托画廊
  • Magento
  • OpenCart

这将更好地表明在实际使用条件下什么是最有效的,并让人们更好地了解最适合他们需求的服务器。

上述流行的 php 应用程序可能会满足大量 Web 服务器用户的需求。

当然,在这种基准测试中,MySQL、PHP 等的性能会发挥作用,我们不会获得网络服务器的原始性能数据。但无论如何,谁真正关心原始数字呢?人们实际上只关心比较性能,这就是他们检查基准测试的原因。

如果我们开始进行此类基准测试,我们最终可能会得出这样的结论:服务器比较是没有意义的,因为竞争产品之间没有明显的性能差异,并且基础设施/设置中还有其他项目需要更多的优化关注。

我相信运行基准测试的人都很聪明,并且知道以上所有内容......那么我们怎么还会继续得到毫无价值的“小静态文件”基准测试呢?

答案1

最重要的基准测试是在您对应用程序进行某些更改之前进行的,然后在您自己的服务器环境中的硬件上重新运行它们。

如果您尝试选择在您的应用程序或配置中使用框架 X 还是框架 Y,这不会有帮助,除非您能够在投入生产之前使用多种配置测试您的服务器。

但是您说得对,当您查看已发布的基准测试时,有许多因素会影响结果。它们毫无价值吗?也许并非完全如此;如果某个框架或服务器在多个测试中表现良好,那么它对您来说可能也表现良好。如果它很慢,那么它可能相对较慢。

您可能还需要考虑其他因素。如果您对某个框架没有经验,而且必须在最后期限前推出产品,那么快速框架有什么用呢?维护该框架的人是否有该平台的经验,或者能够快速学习吗?也许您有使用某种特定语言或服务器的内部经验,可以减少维护开销或添加模块或功能。也许您需要一个积极维护的平台,这样您就可以确信错误会及时得到修复,或者当您需要帮助时,有一个活跃的社区可以提供建议。毕竟,如果您无法首先配置和调整它,那么最快的服务器也帮不上什么忙。

答案2

我认为您刚刚回答了自己的问题。静态文件基准测试易于设置和测量。一旦添加应用程序堆栈,您就会从一个变量(Web 服务器)转向可能数十个变量。“PHP 配置怎么样?也许 MySQL 服务器缺少 RAM?磁盘配置是否正确?”等等。

静态基准测试测试一件事:给定的 Web 服务器能够多快处理 HTTP 请求?一般来说,这就是您希望 Web 服务器能够做到的一切。一旦您谈论应用服务器,游戏规则就完全改变了。

公平地说,有一些针对 Web 框架和一些应用服务器的基准:http://www.techempower.com/benchmarks/

相关内容