TechEmpower Web Framework Benchmarks 是许多Web应用程序框架执行基本任务(如JSON序列化、数据库访问和服务器端模板组合)的性能比较的专业网站。每个框架都在实际的生产配置中运行。结果在云实例和物理硬件上捕获。测试实现主要是由社区贡献的,所有源都可以在GitHub存储库中使用。

用“框架”这个词来泛指平台、微框架和全栈框架。

  在2013年3月的一篇博客文章中,我们发布了几个执行简单但有代表性的任务的Web应用程序框架的性能比较结果:序列化JSON对象和查询数据库。从那时起,社区投入巨大。我们现在所说的所有项目贡献者都定期更新测试实现,扩大覆盖范围,并在半定期更新中捕获结果,我们称之为“轮次”。

  我们期望所有框架的测试都能通过社区的投入得到改进。因此,我们非常高兴收到任何框架的粉丝们的请求。我们希望我们对每个框架的测试都能达到最佳效果,因此我们邀请您加入。

  反馈持续不断,我们计划通过以下几种方式不断更新项目,例如:

  • 覆盖更多框架。由于迄今为止社区的贡献,所涵盖的框架数量已经相当大。如果您提交拉取请求,我们很乐意添加更多内容。
  • 其他测试类型
  • 测试更多类型的硬件。
  • 此网站结果的功能增强。
模拟生产环境

  我们的目标是根据从文档和流行社区意见中收集的生产部署最佳实践来配置每个框架,并要求贡献者应用相同的经验法则。我们希望每个测试实现(请参阅“术语”部分)尽可能准确地接近合理的生产部署。我们还希望这个项目尽可能透明,所以我们在GitHub上发布了我们的测试套件。

环境详细信息

  这个项目测量两种常见部署场景的性能:云实例和物理硬件。到目前为止,每一轮都为这些场景使用了一个具有代表性的环境。环境的特定规范随着时间的推移而变化,如下所示:

  • 云环境   
    • Azure(第13轮之后)Microsoft Azure D3v2实例;交换千兆以太网。
    • AWS(第1轮至第12轮)amazonec2.c3大型实例(每个实例2个vCPU);交换千兆以太网(第9轮使用m1.large)。
  • 物理硬件环境
      • Citrine (rounds 16 onward)   三台同构的Dell R440服务器,每台都配备Intel Xeon Gold 5120 CPU、32 GB内存和企业级SSD。专用Cisco万兆以太网交换机。由Microsoft提供。
      • ServerCentral (rounds 13 through 15)   Dell R910(4x 10核Intel Xeon E7-4850 CPU)应用服务器;Dell R710(2x 4核Intel Xeon E5520 CPU)数据库服务器;交换式万兆以太网。由服务器中心提供。
      • Peak (rounds 9 through 12)  Dell R720xd dual Intel Xeon E5-2660 v2(40个HT内核),32 GB内存;RAID中配备SSD的数据库服务器;交换式万兆以太网。由Peak Hosting提供。
      • i7 (rounds 1 through 8)  内部Intel Sandy Bridge Core i7-2600K工作站,8 GB内存(2011年初);数据库服务器配备三星840 Pro SSD;交换千兆以太网。
测试结果

从上表测试结果中可以明显看到多次测试中 ASP.NET Core 综合测试排行一直名列前茅,其他单项测试中文本性能异常优秀,主要归功于.NET 团队对 CoreCLR 的不断深度改进与优化等方面做出的努力。

详细测评结果参考下列最新测评轮次。

2021-2-8 第20轮测评
  • 综合测评(物理机器):第8名

  • 综合测评(云服务器):第7名

  • 普通文本测评(物理机器):第2名

  • 普通文本测评(云服务器):第14名

其他轮次测评详细结果请参考:https://www.techempower.com/benchmarks/#section=data-r20&hw=cl&test=plaintext


参考文献:

  • https://www.techempower.com/benchmarks/

.NET平台系列16 .NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现的更多相关文章

  1. .NET平台系列15 .NET5的吊炸天性能改进

    系列目录     [已更新最新开发文章,点击查看详细] .NET5的性能改进测试功能 Benchmark.NET现在是衡量.NET代码性能的规范工具,可轻松分析代码段的吞吐量和分配. .NET5的性能 ...

  2. .NET平台系列13 .NET5 统一平台

    系列目录     [已更新最新开发文章,点击查看详细] 时机决定一切,对于 .NET5 也是如此.实际上微软.NET团队在开始开发 .NET Core 时,对 .NET Framework 的全面重写 ...

  3. 探索 ASP.Net Core 3.0系列三:ASP.Net Core 3.0中的Service provider validation

    前言:在本文中,我将描述ASP.NET Core 3.0中新的“validate on build”功能. 这可以用来检测您的DI service provider是否配置错误. 具体而言,该功能可检 ...

  4. 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志

    前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基 ...

  5. 【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)

    HTTP is not just for serving up web pages. It's also a powerful platform for building APIs that expo ...

  6. [转]【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)

    本文转自:https://www.cnblogs.com/inday/p/6288707.html HTTP is not just for serving up web pages. It’s al ...

  7. asp.net core 集成 log4net 日志框架

    asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...

  8. Blazor——Asp.net core的新前端框架

    原文:Blazor--Asp.net core的新前端框架 Blazor是微软在Asp.net core 3.0中推出的一个前端MVVM模型,它可以利用Razor页面引擎和C#作为脚本语言来构建WEB ...

  9. ASP.NET Core的身份认证框架IdentityServer4--入门

    ASP.NET Core的身份认证框架IdentityServer4--入门 2018年08月11日 10:09:00 qq_42606051 阅读数 4002   https://blog.csdn ...

随机推荐

  1. Cube painting UVA - 253

     We have a machine for painting cubes. It is supplied with three different colors: blue, red and gre ...

  2. JAVAEE_Servlet_04_在service()方法中连接数据库获取表信息

    在service()方法中连接数据库获取表信息 代码: package com.shige.controller; import javax.servlet.*; import java.io.IOE ...

  3. Spring Cloud Alibaba(5)---Nacos(配置中心)

    Nacos(配置中心) 有关Spring Cloud Alibaba之前写过四篇文章,这篇也是在上面项目的基础上进行开发. Spring Cloud Alibaba(1)---入门篇 Spring C ...

  4. seaweedfs分布式文件使用示例

    安装seaweedfs分布式文件存储 启动一个测试集群:2 filer(8801-8802) + 3 master(9331-9333) + 3 volume(8081-8083) 下载seaweed ...

  5. wordpress 自定义路由及展示页

    wordpress 自定义路由及展示页 注册domain/test这个路由 wordpress 有重写url的方法,叫 add_rewrite_rule().在function.php中加入如下代码段 ...

  6. TP5学习记录(Model篇)

    ThinkPHP 数据库操作 数据库连接 #在config/database.php设置数据库连接参数或者利用Db::connect()方法设置数据库连接 /* * public static fun ...

  7. 从苏宁电器到卡巴斯基第15篇:我在苏宁电器当营业员 VII

    我们苹果的倒班制度 当年我在苏宁的时候,实行的是单休制度,而且只能选择在周一到周五其中的某一天,因为周六周日顾客比较多,是不允许休息的.尽管是单休,但并不表示我们在上班的时候每天都要完完整整地上八小时 ...

  8. Linux中的DHCP服务

    目录 DHCP DHCP的报文类型 DHCP的部署 DHCP中继(DHCP代理) DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局 ...

  9. Python中math和cmath模块的使用

    目录 Math模块 Cmath模块 Math模块 pi                数字常量,圆周率 e                 表示一个常量 sqrt(x)         求x的平方根 ...

  10. MS06-040漏洞研究(中)【转载】

    课程简介 经过上次的分析,我们已经知道了MS06-040漏洞的本质,那么这次我们就通过编程实现漏洞的利用. 课程介绍 实验环境: 操作机: Windows XP 实验工具: Tools Path ID ...