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中的路由机制

从 MVC 到使用 ASP.NET Core 6.0 的Minimal API

asp.net mvc+web api+easyui

使用 ASP.NET 5 MVC 6 Web API 进行 Cookie 身份验证