I have current throughput rates of ~11 records/sec(1 event has 1 record) for my event-triggered Azure function app. It takes data from Eventhub and posts it to an API endpoint. I have been tweaking the host.json settings(maxBatchSize, prefetchCount) but they haven't increased the rates.
- App runs on .NET so cant even try to increase workers manually using FUNCTIONS_WORKER_PROCESS_COUNT.
- API endpoint has a throttle of 100 records/sec.
Below lie some test results:
Test | Domain | App Service Plan | Instance | maxBatchSize | prefetchCount | Avg CPU Usage | Data Transferred(records) | Total Time taken | Throughput Rate(Records/sec) |
---|---|---|---|---|---|---|---|---|---|
1 | Products | S1 | 1 | 100 | 200 | 100 | 3281 | 0:18:31 | 2.95 |
2 | Products | P2V2 | 1 | 100 | 200 | 11.5 | 34264 | 0:48:57 | 11.67 |
3 | SalesOrder | P1V2 | 2 | 64 | 128 | 11 (for both instances) | 33816 | 0:49:25 | 11.41 |
Appreciate your help here.