.NET平台系列16 .NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现
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 的不断深度改进与优化等方面做出的努力。
详细测评结果参考下列最新测评轮次。
- 综合测评(物理机器):第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 中的吊炸天表现的更多相关文章
- .NET平台系列15 .NET5的吊炸天性能改进
系列目录 [已更新最新开发文章,点击查看详细] .NET5的性能改进测试功能 Benchmark.NET现在是衡量.NET代码性能的规范工具,可轻松分析代码段的吞吐量和分配. .NET5的性能 ...
- .NET平台系列13 .NET5 统一平台
系列目录 [已更新最新开发文章,点击查看详细] 时机决定一切,对于 .NET5 也是如此.实际上微软.NET团队在开始开发 .NET Core 时,对 .NET Framework 的全面重写 ...
- 探索 ASP.Net Core 3.0系列三:ASP.Net Core 3.0中的Service provider validation
前言:在本文中,我将描述ASP.NET Core 3.0中新的“validate on build”功能. 这可以用来检测您的DI service provider是否配置错误. 具体而言,该功能可检 ...
- 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志
前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基 ...
- 【翻译】在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 ...
- [转]【翻译】在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 ...
- asp.net core 集成 log4net 日志框架
asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...
- Blazor——Asp.net core的新前端框架
原文:Blazor--Asp.net core的新前端框架 Blazor是微软在Asp.net core 3.0中推出的一个前端MVVM模型,它可以利用Razor页面引擎和C#作为脚本语言来构建WEB ...
- ASP.NET Core的身份认证框架IdentityServer4--入门
ASP.NET Core的身份认证框架IdentityServer4--入门 2018年08月11日 10:09:00 qq_42606051 阅读数 4002 https://blog.csdn ...
随机推荐
- JMeter线程组编辑区揭秘
线程组编辑区如下: 有点复杂,但是慢慢看下来,还是比较容易理解. Name 带有业务含义的名字. Comments 线程组的备注说明. Action to be taken after a Sampl ...
- Day07_35_Colection下的方法
Collection 下的方法 * **Collection 集合的方法应用** ``` package com.shige.Collection; import java.util.ArrayLis ...
- 14.Quick QML-TextInput详解
1.TextInput属性用来编辑一行文本,对应QLineEdit,除了正常输入外,我们还可以设置echoMode属性改为密码显示状态,也可以通过validator属性和inputMask属性来设置验 ...
- git merge --ff/--no-ff/--ff-only 三种选项参数的区别
前言 git merge 应该是开发者最常用的 git 指令之一, 默认情况下你直接使用 git merge 命令,没有附加任何选项命令的话,那么应该是交给 git 来判断使用哪种 merge 模式, ...
- API文档大集合
[API文档大集合] sklearn API:http://sklearn.apachecn.org/cn/0.19.0/tutorial/index.html pandas API:http://p ...
- ASP封装DLL 直接上代码
ASP转DLL 基本引用类库 OLE Automation Com+ services Type Library Microsoft Active Server Pages Object Micros ...
- php和mysql数据库防SQL注入的有效解决办法
<?php$mysqli = new mysqli("localhost", "my_user", "my_password", &q ...
- 请解释Spring事务传播传播行为
什么叫事务传播行为? 听起来挺高端的,其实很简单. 即然是传播,那么至少有两个东西,才可以发生传播.单体不不存在传播这个行为. 事务传播行为(propagation behavior)指的就是当一个事 ...
- Portswigger web security academy:Cross-origin resource sharing (CORS)
Portswigger web security academy:Cross-origin resource sharing (CORS) 目录 Portswigger web security ac ...
- Day001 电脑常用快捷键
电脑常用快捷键 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+X 剪切 Ctrl+Z 撤销 Ctrl+S 保存 Alt+F4 关闭窗口(英雄联盟选英雄界面可以查看对面阵容(狗头 ...