Skip to main content

Throttling Prioritization in D365FO

 Throttling Prioritization or Priority-based throttling is a mechanism to ensure that system resources are used in an effective and efficient manner. It works by allocating system resources based on the priority of different requests. This means that high-priority requests are given priority access to the resources they need, while lower-priority requests may be throttled or delayed if the system is under heavy load.

The goal of priority-based throttling is to balance the use of resources to ensure that the system remains responsive and stable while still serving the needs of all users. By giving priority to the most important requests, the system can ensure that critical processes are completed quickly and effectively, while lower-priority requests may be deferred until the system is less busy.

Priority-based throttling is particularly important in large organizations where multiple users and departments rely on the same ERP system. By prioritizing requests based on their importance, the system can ensure that resources are used in the most effective manner, reducing the risk of delays or errors. In addition to helping to manage system resources, priority-based throttling helps in improving performance by reducing the number of requests that are processed simultaneously. This reduces the risk of the system becoming overwhelmed, leading to slower response times, and reduced overall performance.

The priority of each request can be defined by the administrator and may depend on various factors such as the type of request, the user, or the time of day. For example, a request from Bank Integration can be given higher Priority than others, or requests from certain departments may be given priority over others.

Throttling priority mapping is applicable for resource-based service protection API limits and not to user-based service protection API limits. For more information Service Protection API Limits.

As shown below, the Navigation Path to access Priority Based Throttling form is System Administration–>Setup–>Priority Based Throttling

Client Id is not required when setting up for a User. Even if you try to set a client Id for user, system will throw below error and will not allow to save the record.

Similarly, you can’t set a User Id when Setting up for AAD (Azure Active Directory) Application.

As shown above, you can set Low, Medium, or High Priority. During load on server, system will throttle Applications or Users with Low Priority first then Medium and at last High Priority. This is applicable to ODATA and Custom Services Based Integrations.

Please note that only users with System administrator or Integration priority manager role can access this form.

Steps to monitor API Throttling

  • Go to LCS and click on your Project.
  • In the Environments section, select an environment and click on Full Details.
  • Click on Environment Monitoring located at the bottom of screen.
  • Select the activity tab and under Query name field, select Request Throttled.
  • Provide Start and End date and click on Search button.

If there are requests that were throttled, then it’s a good idea to check the impacts on CPU utilization Memory Available of your system under Health Metrics.

In conclusion, priority-based throttling is an important mechanism for ensuring that system resources are used in an effective and efficient manner. By prioritizing the most important requests, the system can ensure that critical processes are completed quickly and effectively, while still serving the needs of all users. If you’re looking to optimize the performance of your ERP system, implementing priority-based throttling is a step in the right direction.

Comments