A one-time data migration into Dataverse runs 200 parallel threads under a single application user and constantly receives service protection errors, so total throughput is worse than with fewer threads. Which change best improves throughput?
Select an answer to reveal the explanation.
Short Explanation
Two hundred threads under one user is a crowd shoving at a single turnstile. Pull back, then add threads slowly while honoring Retry-After, and you'll get the most out of what the server will actually allow. More shoving just gets you longer timeouts.
Full Explanation
Service protection limits are applied per user and include a limit on concurrent requests as well as on the number of requests and combined execution time in a sliding window. Running 200 threads under one application user exceeds the concurrency limit immediately and drives up execution time, so Dataverse returns errors and extends the Retry-After duration, lowering throughput. Microsoft advises starting with a lower rate, increasing gradually until limits are reached, and then letting the Retry-After value govern pacing, which yields the highest sustained throughput. Increasing parallelism further worsens the overload and lengthens the waits. Large ExecuteMultiple batches increase the execution time per request, making the execution time limit more likely, and Microsoft notes that most scenarios are fastest with single requests and a high but controlled degree of parallelism, or with bulk operation messages for standard tables. Pinning all requests to one web server with the affinity cookie concentrates load on a single server, while the limits are enforced per web server, so it reduces available capacity; for high-throughput scenarios Microsoft recommends disabling affinity. Exam caveat: limits apply equally to application users, so splitting work across users is not a supported way to evade them. Operational check: measure records per minute at several thread counts and confirm the chosen level sustains throughput with occasional, short Retry-After pauses.