This was one of the most interesting production issues I investigated. The original post was accidentally removed, so I'm bringing it back.
Same environment. Very different response times.
Some requests took over 4 seconds. Others completed in around 200ms. No platform-wide outage, Infrastructure appeared healthy. So what was happening?
One factor that stood out during my investigation was Cookie Affinity (Server Affinity).
In a load-balanced environment, cookie affinity can keep a clients subsequent requests routed to the same front-end server.
Why does this matter?
Imagine a high-volume integration sending thousands of requests. If requests remain associated with one server, that server may handle a disproportionate share of the traffic while other instances have more capacity available. Under the right conditions, this can contribute to uneven performance.
That's the interesting part: the overall platform can appear healthy while a particular workload experiences a bottleneck.
Microsoft documents the role of affinity in Dataverse and provides guidance for custom .NET clients processing parallel requests. Disabling affinity can be worth evaluating for suitable integration workloads, but it isn't a universal fix and browser-based clients always have server affinity enabled.
The lesson I took away: performance isn't just about how much capacity a platform has. How requests reach and use that capacity matters too. When investigating slow Dataverse integrations, cookie affinity is one factor worth understanding alongside concurrency, throttling and request patterns.
#Dynamics365 #Dataverse #PowerPlatform #PerformanceEngineering #Azure #TechnicalArchitecture