相关疑难解决方法(0)

如何正确测量 ASP.NET Core 请求持续时间?

给出以下最基本的 ASP.NET Core 应用程序(注意 Thread.Sleep):

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.Configure(appBuilder =>
                    appBuilder.Run(async context =>
                    {
                        var stopwatch = Stopwatch.StartNew();
                        Thread.Sleep(1000);
                        await context.Response.WriteAsync($"Finished in {stopwatch.ElapsedMilliseconds} milliseconds.");
                    }));
            });
}
Run Code Online (Sandbox Code Playgroud)

以及以下 appsettings.json

{
  "Logging": {
    "LogLevel": {
      "Default": "None",
      "Microsoft.AspNetCore.Hosting.Diagnostics" : "Information",
    }
  },
  "AllowedHosts": "*"
}
Run Code Online (Sandbox Code Playgroud)

如果我运行中等负载测试(100 个请求,在我的例子中使用庞巴迪),我会看到大约 5 秒的延迟。

~/go/bin/bombardier http://localhost:5000 -l -n 100 -t 60s
Bombarding http://localhost:51568 with 100 request(s) using …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-core

7
推荐指数
1
解决办法
3099
查看次数

标签 统计

asp.net ×1

asp.net-core ×1