From my previous post on Parallel Programming, I showed how to simply improve performance by using a Parallel loop. However, sometimes you need to control those Parallel loops due to limited resources, or maybe you’re calling an external source that has limited connections, such as sockets, and we don’t want to be a bad consumer and make 50 connection calls instantly due to our Parallel loops. There are a couple things that I wanted to discuss to help with this control.
Recently on my project we were doing some performance testing and found something that really made me take note. The load performance of Web Api is greatly increased by using Async services. I was reading about this, and using Async services, allows the server to scale better by the way the thread is handled by the thread pool. Great article on the matter is found here, https://msdn.microsoft.com/en-us/magazine/dn802603.aspx
I want to show you the basics of exposing and supporting async web api services.