asp.net 6中的mini api和mvc api性能对比
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 6中的mini api和mvc api性能对比相关的知识,希望对你有一定的参考价值。
在.net6发布时,带来了一个新的模板框架,mini api,那与之前的mvc api性能对比是什么样的呢?
建了基于.net 6的两种模板项目,都实现了一个get /test01的api请求,代码如下:
mini api:
app.MapGet("/test01", () =>
var arr = new string[] "1","2","3","4","5","6","7","8","9","0";
var index = RandomNumberGenerator.GetInt32(arr.Length);
return arr[index];
);
mvc api:
[HttpGet("/test01")]
public string Test01()
var arr = new string[] "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" ;
var index = RandomNumberGenerator.GetInt32(arr.Length);
return arr[index];
用JMeter进行的本地测试,因为两个应用用的测试环境一样,所以对比的结果更具有参考性。
分别有1并发,10并发,50并发,100并发,200并发,500并发来测试,结果如下:
mini 1并发
mvc 1并发
mini 10并发
mvc 10并发
mini 30并发
mvc 30并发
mini 40并发
mvc 40并发
mini 50并发
mvc 50并发
mini 60并发
mvc 60并发
mini 100并发
mvc 100并发
mini 200并发
mvc 200并发
mini 500并发
mvc 500并发
为了方便对比,做了一个图形如下:
从对比结果来看,两个项目框架性能相当(师出一门,肯定大差不差),mvc在的最高tps要好于mini,但mini的响应时间,从图上看,p90,p95,p99基本要优于mvc。
以上是关于asp.net 6中的mini api和mvc api性能对比的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Core 6框架揭秘实例演示[02]:基于路由MVC和gRPC的应用开发
如何使用 ASP.NET 5 MVC 6 保护 Web API
Web API系列教程2.1 — ASP.NET Web API中的路由机制