Microsoft’s Azure Functions team developed PerfBench, a scalable benchmarking platform to rigorously test throughput across various runtimes, SKUs, and regions. PerfBench ensures high performance and reliability for serverless apps, especially with the new Flex Consumption plan, by automating load generation, data aggregation, and trend monitoring. Unique :

Throughput Testing at Scale for Azure Functions: What You Need to Know
Azure Functions just got a serious upgrade in how Microsoft tests its performance at scale. With the introduction of the Flex Consumption plan, Microsoft needed a robust benchmarking platform. Enter PerfBench—a system designed to measure, monitor, and maintain throughput across multiple runtimes, regions, and SKUs.
What’s New with PerfBench?
PerfBench is Microsoft’s answer to the complexity of testing Azure Functions at scale. It handles millions of messages and tens of thousands of requests per second, ensuring no performance regression slips through. The platform supports multiple runtimes like .NET, Python 3.11, Node.js, and Java, across various pricing tiers and regions.
“With the introduction of the Flex Consumption plan, we had to redesign testing from the ground up to ensure confidence in performance goals.”
This overhaul is essential because manual or single-scenario benchmarks just don’t cut it anymore. The system runs over a million tests and continuously evolves as new runtimes and regions get added.
Major Updates: Architecture and Components
PerfBench’s architecture is modular and automated. It includes:
- Resource Creator: Uses meta files and Bicep templates to deploy receiver function apps at scale.
- Test Infra Generator: Deploys load generators and schedulers.
- Test Infra: Coordinates load tests via Azure Load Testing (ALT) for HTTP and SBLoadGen for event-driven scenarios.
- Receiver Function Apps: The actual apps receiving load, deployed per runtime, region, and SKU combination.
- Data Aggregation & Dashboards: Collects metrics in Azure Data Explorer and visualizes trends.
For HTTP tests, PerfBench leverages Azure Load Testing, firing millions of requests in minutes with sub-100ms latency and near-zero errors. For event-driven scenarios, SBLoadGen—a Durable Function app—generates about one million messages in under a minute.
Automation & Continuous Integration
Every time a new runtime or region is added, meta files update, triggering the CI/CD pipeline to regenerate templates and redeploy resources. This keeps testing coverage comprehensive and up to date without manual intervention.
“Continuous updates ensure that as new language versions or scenarios come online, our testing infrastructure scales effortlessly.”
Why This Matters for Developers and Enterprises
PerfBench ensures Azure Functions’ performance remains rock-solid as the platform scales. Developers can trust that new features or runtimes won’t introduce hidden bottlenecks. Enterprises relying on serverless workloads get peace of mind knowing throughput and latency are continuously monitored.
In summary, Microsoft’s investment in PerfBench highlights the growing importance of automated, large-scale benchmarking in cloud-native serverless environments. It’s a game-changer for anyone building on Azure Functions.
From the New blog articles in Microsoft Community Hub