-
Notifications
You must be signed in to change notification settings - Fork 1
Scaleout
The Scale-Out Tool tests and visualizes your application's ability to scale out and handle increased load by simulating traffic from multiple instances. It lets you see how your application responds when scaling out by making simultaneous requests using multiple iframes. Additionally, it provides insights into session affinity behavior by comparing how the application behaves with and without cookies.
Azure services, such as App Services, Kubernetes, and Container Apps, can be scaled out to distribute load across multiple instances. But how can you verify if your application is scaling out as expected? The ScaleOut Tool helps you visualize the scaling process by continuously invoking your application from multiple iframes, making it easy to observe load balancing and scaling in action.
Additionally, session affinity (often maintained using cookies) can influence how the load is distributed. This tool includes two different pages to demonstrate session affinity:
Page 1: Retains cookies, simulating typical user behavior with session affinity in place.
Usage
-
Access the Tool:
- Navigate to /ScaleOut/MultiInstances to see the page with cookies retained.
- Navigate to /ScaleOut/MultiInstancesNoCookies to see the page where cookies are cleared on each request.
-
Observing Scaling:
- Each iframe on the page continuously reloads every 500 milliseconds.
- As requests are made, observe the instance-specific information displayed, such as IP address, hostname, and unique instance identifiers.
- Watch the background color changes to differentiate between different instances handling the requests. Each iframe will have a different background color depending on the service instance that responds, making it easy to see whether different instances are utilized.
-
Analyzing Session Affinity:
- Compare the behavior between the two pages (MultiInstances and MultiInstancesNoCookies).
- When session affinity is enabled (cookies retained), requests from the same client are routed to the same instance.
- When session affinity is disabled (cookies cleared), requests are balanced across multiple instances, showcasing the effect of load balancing.