Hello @Janice Chi,
To determine the scaling behavior of Azure Functions on the Premium Plan for high-throughput ingestion from Kafka, we need to consider the scaling capabilities of the plan. Here is the information you need:
- Azure Functions Premium Plan Scaling:
- The Premium Plan scales out automatically based on the number of events that trigger its functions.
- The maximum number of instances for the Premium Plan varies based on the operating system:
- Windows: 100 instances & Linux: 20-100 instances
- Instance Warm-up Rate:
- The warm-up rate of instances in the Premium Plan depends on the incoming trigger events and the scaling behavior of the plan.
- As the plan scales out automatically, new instances are added to handle the increased load, ensuring that the functions can process the incoming events efficiently.
- Messages Per Second Handling:
- The number of messages per second that an instance can handle without hitting CPU/memory bottlenecks can vary based on the complexity of your functions, the resources allocated to each instance, and the processing requirements of your Kafka ingestion.
- It's recommended to perform load testing with your specific workload to determine the optimal message processing rate per instance.
Considering the expected event rate of 68,400 EPS, you may need to distribute the load across multiple instances within the Premium Plan to ensure efficient processing without hitting bottlenecks.
Kindly refer below links:
https://techcommunity.microsoft.com/blog/fasttrackforazureblog/azure-functions---part-1---hosting-and-networking-options/3746795
https://learn.microsoft.com/en-us/azure/azure-functions/functions-premium-plan?tabs=portal
https://learn.microsoft.com/en-us/azure/azure-functions/event-driven-scaling?tabs=azure-cli
Hope this helps. Do let us know if you any further queries.