我确实有一个使用asp.net核心3.1开发的rest API项目。目前,我们正在计划进行代码重构并对其进行优化。
我最近遇到了BenchMarkDotNet
我遇到的所有示例大多针对基于控制台的应用程序
我也希望在REST API项目中利用这一点,但在其使用的上下文中没有遇到任何参考示例。
代码:
[Route("api/[Action]")]
[ApiController]
[AllowModule(AppType = ApplicationType.Testing)]
public class TestController : BaseController
{
private readonly ITestService _testService;
public TestController(ITestService testService, ILogger<TestController> logger) : base(logger)
{
_testService = testService ?? throw new ArgumentNullException(nameof(testService));
}
[HttpGet("{inspectionID:long}", Name = "GetDetails")]
[ResponseCache(CacheProfileName = "Never")]
[ProducesResponseType(400)]
[ProducesResponseType(500)]
public async Task<IEnumerable<TestDTO>> Get(long inspectionID) => await _testService.GetDetails(inspectionID);
}
有人能在这里为我提供指导吗?
我认为BenchmarkDotNet
不是执行该任务的合适工具
BenchmarkDotNet衡量流程内部的绩效
它不会衡量其他进程(本例中为ASP.NET应用程序(的性能还有其他的基准测试API的工具,如crank
此工具来自Microsoft
这里有一个来自Microsoft Conf的很棒的视频来解释如何使用它。