This month, TechNet Magazine published my article about the top IIS 7.0 features you can use to unlock the performance potential of your web server. You can read it at Top 10 Performance Improvements in IIS 7.0.
IIS 7.0 improves on the already solid performance of its predecessor in quite a few places. However, this article is not about features where IIS 7.0 performs better than IIS 6.0 … Rather, it is about new capabilities IIS 7.0 provides that can significantly improve performance, scalability, and reduce operational costs of running web applications.
Some of these include reducing bandwidth costs with dynamic compression and media bitrate throttling, creating efficient application topologies with specialized web servers, using new more efficient server APIs, and utilizing output caching.
In addition to the features I discuss in the article, which you must proactively leverage, IIS 7.0 offers a number of performance improvements out of the box. Here are some of the areas where you’ll reap performance improvements just by moving to IIS 7.0:
Windows Authentication (NTLM/Kerberos) – now done in the kernel by HTTP.SYS
SSL – also done in the kernel by HTTP.SYS (I’ve seen 150%+ improvements for SSL scenarios in some tests)
Better scalability on multi-proc and multi-core machines
FastCGI instead of CGI for PHP apps (see below)
For example, the new FastCGI support offers tremendous potential for improving performance of application frameworks like PHP that previously needed to use CGI for stability reasons. In one of my tests, helloworld.php throughput jumped more than 100 times from 22 to 2239 RPS when moving it from CGI to FastCGI, and removing the process per request overhead. With FastCGI, the platform is no longer a bottleneck:
Hello.php throughput using FastCGI vs. CGI on IIS 7.0 shown on a log(10) scale.
Most of the things mentioned in Top 10 Performance Improvements in IIS 7.0 deserve their own articles to describe them in depth. This article should point you in the right direction for making the most out of the IIS 7.0 platform performance-wise. As always, feel free to ask questions, and I’ll look to cover more specifics in upcoming blog posts.
Now, go read all about it.