FastCGI for IIS 6.0 is released
Microsoft is excited to announce the release of FastCGI for IIS, a new component for Microsoft's Web server platform. This release is available immediately for IIS 6.0 in Windows Server 2003.
This release addresses most of the compatibility issues reported by the community from the original technical preview releases, Go Live release and Intermediate release and is available for both 32 bit and 64 bit versions of Windows Server 2003.
The FastCGI component is part of the collaboration between Microsoft and Zend to improve performance and stability of PHP on the Windows platform. This effort aims to help PHP developers achieve improved performance on the Windows platform by leveraging the new IIS FastCGI feature together with Zend’s on-going work to improve the PHP engine on Windows. For more information see the Zend website.
What is FastCGI?
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. See this whitepaper for more information on how FastCGI works.
This release contains an ISAPI extension that provides FastCGI support for IIS on Windows Server 2003. The FastCGI component for IIS is supported by Microsoft along with the rest of the IIS feature-set.
Why is FastCGI important?
Most applications built for IIS take advantage of the native, multi-threaded extensibility model of IIS. Many popular applications, particularly those written or originally designed for Linux, are not multi-threaded, and instead take a multi-process approach to concurrency. While the PHP engine itself is multi-thread capable, many of the popular PHP extensions are not, requiring a single concurrent request guarantee to operate reliably. This forces the use of CGI and results in poor performance on the Windows platform. FastCGI helps these application frameworks to achieve improved performance on Windows over CGI, while allowing stable operation in production environments.
You can download directly from http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en.
