ADB2C | Graph Api

Abhay Chandramouli 1,016 Reputation points
2022-09-17T17:11:57.747+00:00

Hi,
I am facing a lot of throttling issues on our adb2c tenant.

I have tried two kind of implementations using scripts

  1. Multithreading
    I am running 50 threads in parallel calling /users POST or /users DELETE in my adb2c tenant. I am facing throttling issues in this case. This is basically a max of 60 requests / sec
  2. Multi threading multi vms
    Same as above in 4 separate Virtual Machines. All scripts are running on different app id and app secrets. Approx Requests/sec is 120-140/sec.
  3. Json batching
    I have tried json batching. 20 users at a time. both on single and 4 VMs. so approx 80request/sec. Still facing issues.

Can I get an exact number of request per second graph can handle ?
for /users POST and /users DELETE for ADB2C tenant..

Please help me, this is urgent

PS: I have read the documentation. I am still not clear. If you can just help me with exact values for both the above apis, it would be really helpful

Thanks

Microsoft Entra External ID
Microsoft Entra External ID
A modern identity solution for securing access to customer, citizen and partner-facing apps and services. It is the converged platform of Azure AD External Identities B2B and B2C. Replaces Azure Active Directory External Identities.
2,843 questions
Microsoft Entra ID
Microsoft Entra ID
A Microsoft Entra identity service that provides identity management and access control capabilities. Replaces Azure Active Directory.
21,365 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Olga Os - MSFT 5,921 Reputation points Microsoft Employee
    2022-09-21T03:19:51.617+00:00

    Hello @Abhay Chandramouli ,

    Welcome to the MS Q&A forum.

    I am sorry to hear you are facing throttling issues while performing operations in Azure. Kindly review information what I was able to gather per your ask. As you could find from the below information, while Microsoft Graph has the limit 2000 requests per second/Per app across all tenants your requests could be limited on the Resource Manager Scope.

    Microsoft Graph service-specific throttling limits

    Microsoft Graph allows you to access data in multiple services, such as Outlook or Azure Active Directory. These services impose their own throttling limits that affect applications that use Microsoft Graph to access them.

    Any request can be evaluated against multiple limits, depending on the scope of the limit (per app across all tenants, per tenant for all apps, per app per tenant, and so on), the request type (GET, POST, PATCH, and so on), and other factors. The first limit to be reached triggers throttling behavior. In addition to the service specific-limits described in the section, the following global limits apply:

    243219-image.png

    Throttling Resource Manager requests

    The default throttling limits per hour are shown in the following table.

    243150-image.png
    These limits are scoped to the security principal (user or application) making the requests and the subscription ID or tenant ID. If your requests come from more than one security principal, your limit across the subscription or tenant is greater than 12,000 and 1,200 per hour.

    These limits apply to each Azure Resource Manager instance. There are multiple instances in every Azure region, and Azure Resource Manager is deployed to all Azure regions. So, in practice, the limits are higher than these limits. The requests from a user are usually handled by different instances of Azure Resource Manager.

    Resource provider limits

    Resource providers apply their own throttling limits. Because Resource Manager throttles by principal ID and by instance of Resource Manager, the resource provider might receive more requests than the default limits in the previous section.

    Compute throttling
    For information about throttling limits for compute operations, see Troubleshooting API throttling errors - Compute.

    Hope above answers your question and concern :) Let me know if you need additional assistance. If the answer was helpful, please accept it and complete the quality survey so that others can find a solution.

    Sincerely,
    Olga

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.