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。
想要更快更方便的了解相关知识,可以关注微信公众号

浙公网安备 33010602011771号