【发布时间】:2019-10-17 01:00:48
【问题描述】:
我们正在使用 Web API 和 .NET 框架 4.6.2 在 Azure 上开发应用服务。我们正在做一些负载测试,这些测试给了我们一些峰值。
如果我们深入研究返回这些峰值的交易,我们可以看到:
如您所见,在返回响应之后(我们在返回之前使用事件检查这一点),在某些事情上浪费了很多时间。 这是什么东西,我们如何避免它?
在处理请求之前浪费的时间更少,您可以在此处看到:
更深入(但在其他请求中),进入探查器跟踪,我们发现“非托管异步”。但是我们不太了解那是什么以及避免它的方法。这个“非托管异步”会是浪费时间的原因吗?
【问题讨论】:
-
这是在特定数量的并发请求之后开始的吗?如果是这样,可能是由于请求被 ASP.NET 排队。
-
负载测试每秒有 1300-2000 个请求。但是,在处理请求之后,排队的请求是否是浪费时间的原因?
-
有想过吗?我们面临着同样的问题。来来去去的间歇性峰值,非托管异步需要很长时间......然后消失。
标签: azure asp.net-web-api azure-application-insights azure-web-app-service