There is a recent change which limits number of API calls per user within 5 minutes of interval. When limit is reached, exception will be thrown for more API calls. This new limit will make sure users making more calls not impacting any other users.
Limit – 60,000 API requests per organization per user within five minutes of interval which is equivalent to 200 requests per second. ExecuteMultiple request will be counted as 1.
Exception Message – In case limit is reached, platform will throw below message:
Number of requests exceeded the limit of 60000, measured over time window of 300 seconds.
Impact – New limit of 200 API requests per second is very generous limit and is hardly achievable keeping execute multiple will be counted as one. This limit might overcome where large data migrations or integrations require heavy data volume to be processed or migrated. It depends upon number of concurrent threads and batch size being used.
Important points to consider in such case:
- Since execute multiple is counted as one, reducing number of concurrent calls and increasing batch size will help. Be careful with batch size as aggressive batch size can cause service timeout errors
- Since limit is per user, consider running threads with multiple users. In case you are using SSIS, you can use BDD with each thread running with different connecting manager
References:
https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/api-limits
Reblogged this on Arun Potti's MS CRM blog.
LikeLike
Reblogged this on Prashant Maurya.
LikeLike