ASP.NET Core性能测试

应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的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查看:

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

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

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

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

最新文章

  1. HDU4329
  2. 使用IntelliJ IDEA 配置Maven(入门)
  3. 并查集 Union-Find
  4. char,vchar,nchar,nvchar的区别
  5. linux内存回收 内核参数
  6. 电赛总结(三)——DA芯片总结
  7. xml之基础了解
  8. RAC集群时间同步服务
  9. 用Python和Django实现多用户博客系统(二)——UUBlog
  10. SQL Server 损坏修复
  11. java.lang包
  12. 【转】onPrepareOptionsMenu 和onCreateOptionsMenu 的区别
  13. 字典树-百度之星-Xor Sum
  14. .net 设置版本号信息
  15. NFS启动时报错Linux NFS:could not open connection for tcp6
  16. ubuntu18.04新体验
  17. srand rand
  18. HDU 2020 绝对值排序
  19. C# 输出带颜色文字,用于实时日志输出
  20. UI5-文档-2.3-使用SAPUI5工具为Eclipse开发应用程序

热门文章

  1. packettotal.com - PacketTotal - A Free Online PCAP Analysis Engine
  2. Log4j2_学习_01_Log4j 2使用教程
  3. 剑指OFFER18 判断一个二叉树的子树
  4. 小程序js页面设置上导航颜色
  5. oracle 11g 常用命令
  6. PowerShell自动部署网站—(1)、安装IIS[添加角色和角色服务]
  7. Python3解leetcode Best Time to Buy and Sell Stock II
  8. 点阵字体显示系列之一:ASCII码字库的显示
  9. fragment getActivity()空指针
  10. Java关键字以及一些基础解释