应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此。此外,糟糕的应用性能也会影响到用户体验,甚至会因此受到相关搜索引擎的降级处罚。在选择框架时,又有许多因素需要考量,但原始性能无疑是其中最容易测评的。不同的框架性能差异极大,即使你充分利用了硬件的性能,错误的框架依然可能带来十倍的性能损耗,虽然不是每个人都会遇到如此极端的情况,但在某些情况下确实如此,因此你有必要了解各框架之间的性能差异。

TechEmpower 测试有源代码,硬件配置全部公开的测试,而且很多框架是作者或资深爱好者提交的,他们各自肯定知道该如何优化才最好,应该比较靠谱,因为这些结果都是可重现的,谁觉得不服可以自己跑跑看,源代码和需求页面提供了每种测试的执行细节以及其它相关信息,各种Web框架性能对比页面提供了更多有关如何进行测试的细节与测试基准的概况。TechEmpower 主要测试的目的是将目前流行的Web开发框架从各个角度来进行测试,这些测试的场景主要是针对这些Web执行框架的基本任务,比如数据库访问、JSON序列化和服务端模板的组合等等场景。整体得分还是有借鉴作用的。当然这种测试主要的作用还是提升士气用的。Techempower网站已经做了13轮的常用web框架的测试,它提供了2种硬件环境(硬件平台包括Azure D3v2 Instance 和专用硬件【Dell R910 application server (4x 10-Core E7-4850 CPUs) 和 a Dell R420 database server (2x 4-Core E5-2406 CPUs)】),几种测试case测试,内容包括单请求数据库访问测试、多请求数据库访问测试、Fortunes测试、JSON序列化测试;得出了一系列的web框架的性能基准。 对于架构师而言,这是一个很好的评估选择web框架的参考资料。

我们看看各个web框架的性能,以TPS为指标排序(每秒返回的response多的在前面,性能越好),所有测试都在Linux中运行。在对比中,我们看到ASP.NET Core取得优异的成绩,具体6个回合的对比请移步TechEmpower查看:

  • 响应返回”Hello, world!”的JSON字符串 
    测试结果见:http://www.techempower.com/benchmarks/#section=data-r13&hw=peak&test=json

  • 从数据库读取一行记录并返回 
    测试结果见:http://www.techempower.com/benchmarks/#section=data-r13&hw=peak&test=db

  • 从数据库读取多行记录并返回 
    测试结果见:http://www.techempower.com/benchmarks/#section=data-r13&hw=peak&test=query

  • 从数据库读取整个表记录并返回 
    测试结果见:http://www.techempower.com/benchmarks/#section=data-r13&hw=peak&test=fortune

  • 修改数据库记录并返回 
    测试结果见:http://www.techempower.com/benchmarks/#section=data-r13&hw=peak&test=update

  • 响应返回”Hello, world!”的纯文本 
    测试结果见:http://www.techempower.com/benchmarks/#section=data-r13&hw=peak&test=plaintext

下面是返回纯文本Plaintext的性能基准:

专用硬件  PlainText 访问测试(峰值)

Azure D3v2 Instance  PlainText 访问测试(峰值)

从开发者的角度来讲,.NET Core在吸收了Mono的优点以后,以一种全新的姿态面向世人,这个转变是值得期待的,而在这个转变中涌现出的新技术、新特性等等,也是我们真正该去关注的东西。相比11轮的asp.net mvc在Mono平台上的表现,ASP.NET Core每秒1822366个请求,这是一个大约提高859倍的提升。

相关文章:

  • Connect 大会的主题 ---微软大法好

  • Connect 2016过后,你的信仰势必需要更大的容器

原文地址:http://www.cnblogs.com/shanyou/p/6082499.html

.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

赞赏

人赞赏

TechEmpower 13轮测试中的ASP.NET Core性能测试相关推荐

  1. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  2. java grpc 服务路由_.NET Core 3.0 Preview 3中关于ASP.NET Core的更新内容

    原标题:.NET Core 3.0 Preview 3中关于ASP.NET Core的更新内容 英文:devblogs.microsoft.com 来源:艾心 译文:cnblogs.com/ediso ...

  3. IIS中的 Asp.Net Core 和 dotnet watch

    在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录.然后build一下就可以 ...

  4. .NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新

    我们都知道在6月12日的时候微软发布了.NET Core 3.0的第6个预览版.针对.NET Core 3.0的发布我们国内的微软MVP-汪宇杰还发布的官翻版的博文进行了详细的介绍.具体的可以关注&q ...

  5. 更新丨.NET 7 预览版2 中的 ASP.NET Core

    点击上方蓝字  关注我们 (本文阅读时间:6分钟) .NET 7 预览版2 现已推出,其中包括对 ASP.NET Core 的许多重大改进. 以下是此预览版中新增内容的摘要: • 推断来自服务的 AP ...

  6. 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  7. 在Linux和Windows的Docker容器中运行ASP.NET Core

    译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇 ...

  8. windows 服务中托管asp.net core

    在windows 服务中托管asp.net core SDK 2.1.300 官方示例 1.添加运行标识符 xml <PropertyGroup> <TargetFramework& ...

  9. wsl 上使用docker_首先通过在WSL和Docker中进行测试,将ASP.NET Core从Windows上的Azure应用服务迁移到Linux

    wsl 上使用docker I updated one of my websites from ASP.NET Core 2.2 to the latest LTS (Long Term Suppor ...

最新文章

  1. 微软曾经的二号人物永远地离开了
  2. AB1601烧程序时注意事项
  3. 小米手机与魅族的PK战结果 说明了什么
  4. mkdir 创建多级目录_linux中的目录功能和文件文件管理
  5. 【IT资讯】Linux Kernel 5.8 正式版发布
  6. 我想在 2012 储备的技术
  7. dnf一天能获得多少黑暗之眼_DNF:千万金币远古遗愿成废铁,95版本完美传说换装武器只需1个月...
  8. 安装MAMP后的控制台访问mysql问题
  9. 产品与市场,究竟哪一个重要
  10. 领导者的资质——学习笔记(1)
  11. NumPy中特别的数组函数 By Youki~
  12. 原理优先的重要性_就signal探讨
  13. 【面试题】百度糯米java工程师面试
  14. Security+ 学习笔记43 无线网络
  15. jQuery length和size()区别总结如下:
  16. 洪恩在线nbsp;Css快速入门。
  17. php fckeditor,FCKeditor的PHP配备
  18. 十分钟看懂AlphaGo的核心算法
  19. php 检测硬盘,php测试硬盘读写速度脚本
  20. Exposure X8 ps人像图片调色滤镜插件

热门文章

  1. C# ReaderWriterLockSlim类
  2. ASP.NET Web API中实现版本
  3. WPF DataGrid 如何将被选中行带到视野中
  4. .NET 6 全新指标 System.Diagnostics.Metrics 介绍
  5. 我用段子讲.NET之依赖注入(一)
  6. 王炸!Azure云助力.NET6现高光时刻(VS2022实战尝鲜)
  7. WPF 密码框水印与明文切换
  8. .Net5 WPF快速入门系列教程
  9. ASP.NET Core依赖注入初识与思考
  10. TIOBE 3月榜单:新功能将加入,C语言仍高居榜首