该项目主要使用社区贡献的测试实现来衡量服务器端Web应用程序框架和平台的高水位性能。自2013年作为开源项目成立以来,社区的贡献一直不计其数,而且源源不断。今天,在第19轮启动时,该项目已经处理了4600多个拉请求!
我们还可以用时间来衡量项目的广度。我们持续运行基准测试套件,现在每次完整运行大约需要111小时(4.6天)来执行当前的2,625个测试套件。随着我们收到更多的测试实现,这个数字继续稳步增长。
第19轮在结果网站上引入了两个新功能:综合分数和硬件环境分数,我们称之为TechEmpower Performance Rating(TPR)。这两个都可以在第19轮及以后的综合分数选项卡上找到。
我们拥有完整测试覆盖范围的框架现在将有综合分数,它反映了整个项目的测试类型的总体性能分数:JSON序列化、单查询、多查询、更新、运气和明文。对于每一轮,我们对每种测试类型的结果进行归一化,然后对每种测试类型应用主观权重(例如,我们给财富赋予了比明文更高的权重,因为财富是一种更现实的测试类型)。
当添加额外的测试类型时,框架将需要包括这些测试类型的实现以包括在综合分数图中。
有了上面描述的综合得分,我们现在可以使用Web应用程序框架来衡量硬件环境的性能。这是对该项目的一个新用例的探索,该用例与提高软件性能的原始目标无关。我们相信这可能是硬件环境性能的一个有趣的衡量标准,因为它是对计算和网络能力的全面测试,并且基于用于创建真实应用程序的广泛的软件平台和框架。我们期待您对此功能的反馈。
目前,唯一被测量的硬件环境是我们的Citrin物理硬件环境和Azure D3v2实例。但是,我们正在实施一种方法,让用户可以贡献和可视化来自其他硬件环境的结果,以便进行比较。
硬件性能测量必须使用轮次的特定提交(例如,轮次19的801ee924)才具有可比性,因为测试实现会随着时间的推移而不断发展。
因为硬件性能测量不应该花费4.6天来完成,所以我们在测量硬件性能时使用了项目的大量框架的一个子集。我们已经选择并标记了代表项目技术平台多样性的框架。包含此子集的任何结果文件都可用于测量硬件环境性能。带有TPR标志的框架集将随着时间的推移而发展,特别是如果我们从社区收到进一步的输入的话。我们的目标是将用于硬件性能测量的运行限制在几个小时的执行时间内,而不是几天。因此,我们希望将标记框架的总数保持在15到25之间。
Nate Brady再次跟踪了该项目的GitHub存储库自上一轮以来的有趣变化。总括来说:
将Azure云环境从Ubuntu 16.04迁移到18.04,并修改了其Terraform脚本以选择最近在Citrin中使用的提交,以便于比较。
再次感谢这个项目的贡献者和粉丝!我们一如既往地感谢您的持续关注、反馈和耐心!