According to this post with benchmarks, IIS consistently outperforms nginx in speed. Specifically, IIS uses 2.3x less CPU power than nginx, processes more than double the requests, and responds in less than half the time.
The blog post says nothing more about what IIS does internally to make it so fast. It simply states:
IIS, when used in conjunction with a Windows OS is fast and reliable.
I would like to know what exactly IIS (or perhaps Windows NT) does to make it so much faster than nginx on Linux. I was unable to find any other information on exactly what makes IIS so fast. I did, however, find another benchmark that agrees with the first one.
I'm extremely skeptical about these results. While IIS may be faster, both posts do not mention anything specific about the hardware, OS settings(filesystem mount options, io schedulers, network buffers, tcp stakck setting and so on), web server config. Modern http servers are extremely complex animals, you can turn on and off huge amount of options, modules. In order to do a relevant test you need to be testing all servers in similar conditions and with similar functionality enabled. Without this its apples and oranges.
The performance difference is probably negligible. The main strength of IIS is ease of use and that means cost savings as you don't spend days, weeks even on a very basic task like organise different web apps under a single site and folder hiarchy that is so easy to do with IIS, takes 30 seconds and doesn't depend of URL rewriting and other unpleasant things, weird behaviour as nginx configuration rules have a steeper learning curve, u don't just run publish in visual studio and that's that.