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。

  想要更快更方便的了解相关知识,可以关注微信公众号 

posted @ 2022-04-27 15:31  刘靖凯  阅读(140)  评论(0编辑  收藏  举报