MS Throttling Guide
Microsoft Throttling is a technology that manages and controls user resource usage in Microsoft's cloud services or applications.
This is used to maintain system performance and reliability across various Microsoft services, including cloud services, databases, and API requests.
Main Objectives
- Performance Maintenance: Prevents performance degradation when many users or applications access the system simultaneously.
- Resource Protection: Prevents system resources from being depleted due to excessive requests or usage.
- Fair Use Guarantee: Provides all users with equal opportunities to use resources.
- Service Stability: Ensures that the service operates stably even with sudden increases in traffic.
Main Features
- API Rate Limiting : Limits the number of API requests within a specific time frame.
- For example, set the maximum number of requests per second or per minute to prevent excessive requests.
- Database Query Limitation: Prevents excessive query requests to the database server to maintain the performance of the database.
- Network Traffic Control: Limits network bandwidth to prevent specific users or services from monopolizing network resources.
- Compute Resource Limiting : Limit CPU and memory usage in virtual machines or containers to ensure that specific applications do not affect the overall system performance.
Application Example
- Azure API Management: Limits the number of API requests to maintain the stability of the API service.
- Azure SQL Database : Control the speed and frequency of database queries to optimize database performance.
- Microsoft Graph: When accessing data from Microsoft 365, it limits the number of API requests to maintain the stability of the service.
Technical Implementation Method_ Rate Limiting Algorithms
- Fixed Window : Limits the number of requests at fixed time intervals.
- Sliding Window : Use a moving time window to limit requests more flexibly.
- Token Bucket : Tokens are issued at a steady rate, and tokens are consumed each time a request is processed.
- Leaky Bucket : Processes requests at a steady rate to smooth out burst traffic.
- API Gateway: Acts as an intermediary layer that controls API requests and applies limits.
- Custom Middleware : Implementing Throttling logic directly in the application code to control requests.
In this way, Microsoft Throttling plays an important role in maintaining the stability and performance of cloud infrastructure and services.
Appropriate throttling settings help to increase service availability and improve user experience.