首页 > 解决方案 > 需要提高 Azure Function App 的吞吐率

问题描述

我的事件触发 Azure 函数应用的当前吞吐率约为 11 条记录/秒(1 个事件有 1 条记录)。它从 Eventhub 获取数据并将其发布到 API 端点。我一直在调整 host.json 设置(maxBatchSize,prefetchCount),但他们没有提高费率。

下面是一些测试结果:

测试 领域 应用服务计划 实例 最大批量大小 预取计数 平均 CPU 使用率 数据传输(记录) 总时间 吞吐率(记录/秒)
1 产品 S1 1 100 200 100 3281 0:18:31 2.95
2 产品 P2V2 1 100 200 11.5 34264 0:48:57 11.67
3 销售订单 P1V2 2 64 128 11(对于两种情况) 33816 0:49:25 11.41

在这里感谢您的帮助。

标签: .netazure-functionsazure-eventhubthroughput

解决方案


增加单个实例的并发性的一种方法是更改​​ maxConcurrentRequests 例如,如果您的函数应用具有两个 HTTP 函数并且 maxConcurrentRequests 请求设置为 25,则对任一 HTTP 触发器的请求将计入​​共享的 25 个并发请求。当该函数应用扩展到 10 个实例时,这十个函数有效地允许 250 个并发请求(10 个实例 * 每个实例 25 个并发请求)。

第二种方法是扩展功能应用程序实例本身。下面是Function App提供的扩容计划表:

在此处输入图像描述


推荐阅读