Skip to main content

What is Microsoft Throttling?

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: Prevent 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 a 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: Limits 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 Methods_ Rate Limiting Algorithms

  • Fixed Window: Limits the number of requests in fixed time intervals.
  • Sliding Window: Use a moving time window to limit requests more flexibly.
  • Token Bucket: A method that issues tokens at a steady rate and consumes tokens 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 restrictions.
  • Custom Middleware: Implements 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 improve service availability and enhance user experience.

Reference Document