I stumbled upon a question about fastcgi-mono-server concurrency on Server Fault and thought I’d do some digging around. Initial checks using a couple of open tabs in the browser and Firebug seemed like there was some level of blocking, and only one page was served as once.

I had a look at the code and it appears to be fully supported so I devised an experiment to test it end-to-end. My experiment was to put a 10-second Sleep in one of my views, then hit two pages, one with the Sleep and then one without. If the system supports concurrency then the one without should render quickly many times while the other is waiting.

I tried this and a first the results looked bad, however, I was hitting both pages in the same browser. So I hit the Sleepy page on my desktop and hit the unaffected page on my mobile and it’s clear that concurrency is supported as my mobile was able to refresh the page several times while my desktop was waiting for the Sleepy page.

So, happy days, one fastcgi-mono-server process supports multiple simultaneous connections and processes the requests concurrently.