首页 > 解决方案 > Azure AppServices 传入请求限制

问题描述

我正在对托管在 Azure App Service (Linux) 中的 .Net Core API 进行压力测试。

应用程序本身很简单,API 摄取数据,将其作为 Blob 发送到 Azure 存储帐户,然后将其通过管道传输到 Azure ServiceBus,并且两个请求都是异步的。

我注意到每个实例都达到了大约 15k req/m (250req/s) 的传入请求限制(即由我的 Gatling 脚本触发的请求)。

在调整 AutoScaler 时,我已将其设置为一旦传入请求达到 11k req/s,我将触发扩展。

它工作得很好,如下图所示:

请求与 CPU 与内存图表

但正如您所看到的,前两个启动的实例有点被最初涌入的请求所淹没,并且需要很长时间才能恢复,这导致内存与稍后启动的实例相比增加了一倍。

这带来了两个问题:

1-我达到了什么极限?因为我在 Azure 文档中找不到关于传入请求数量的任何提及,而且我还注意到此限制与实例大小无关,因为我尝试过从 P1V2 到 P3V3 的实例。会是 Azure 限制,还是与 .Net Core 相关?

2-什么可能导致.Net Core像这样尖峰内存,并且永远不会恢复它?

提前致谢

强尼

标签: .net-coreazure-web-app-service

解决方案


推荐阅读