I have a WCF Service with out of the box HTTP binding. It accepts a data object on which it runs some calculations and then returns the object.
A single call takes around 1.5s and works without issues. However concurrent calls can cause huge spikes in the completion time (10 concurrent calls can take up to 60s). Even if I run multiple calls one after the other I see spikes where the time taken jumps from 1.5 to over 5 seconds.
I currently have the service configured to single context mode and multiple concurrency mode. But I have tried other combinations to no avail.
Would anyone be able to provide a possible reason for these seemingly random spikes?
Thanks
The issue was caused by a database read being performed on each call when it was only required to be done once.
I added a check to ensure the database read was only performed if the data hadn’t already been loaded and this resolved the issue.