FastCGI for IIS

Microsoft has announced a technical preview release of FastCGI for IIS, a new component for Microsoft’s Web server platform.  This release is available immediately for download to Windows Vista, Windows Server codenamed “Longhorn” and previous versions of IIS including IIS 6.0 in Windows 2003 Server and IIS 5.1 in Windows XP.

The IIS FastCGI component enables popular application frameworks like PHP be hosted on the IIS web server in a high-performance and reliable way.

FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release.

CGI programs are executables launched by the web server for each request in order to process the request and generate dynamic responses that are sent back to the client. Because many of these frameworks do not support multi-threaded execution, CGI enables them to execute reliably on IIS by executing exactly one request per process. Unfortunately, it provides poor performance due to the high cost of starting and shutting down a process for each request.

FastCGI overcomes this performance penalty by re-using CGI processes to service subsequent requests, while continuing to ensure single request concurrency. For more information on how FastCGI works, see http://www.fastcgi.com/devkit/doc/fastcgi-whitepaper/fastcgi.htm.

Read more at the IIS.net site.