Tip #71: Did you know... there are several new configuration settings available in FastCGI Extension 1.5 Beta

Following are the new configuration settings available in FastCGI 1.5 Extension Beta:

  • MonitorChangesTo - This property specifies path to a file, changes to which will trigger a recycle of FastCGI executables running for this FastCGI process pool. If value of this property is blank, file change monitoring is disabled. Path to file can be absolute or relative to folder in which FastCGI process (as specified by ExePath) is present. If not specified, default value is blank.

  • StderrMode - Specifies how content received on stderr is handled. The allowed values are:

    • 'ReturnStderrIn500' - FastCGI Extension will set response status code to 500 and send whatever was received on stderr stream as a response. This is the same behavior as in FastCGI Extension v1.0.
    • 'ReturnGeneric500' - The Extension will set the response status code to 500, but will return a generic 500 response.
    • 'IgnoreAndReturn200' - Data on stderr is completely ignored and FastCGI Extension will send what was received on stdout as a response with status code 200.
    • 'TerminateProcess' - The Extension will terminate FastCGI process as soon as it returns anything on stderr. A generic response with 500 status code will be send to HTTP client.

    If setting not specified, the default value is 'ReturnStderrIn500'.

  • MaxInstances - This setting dictates maximum number of FastCGI processes which can be launched for each application pool which is also equal to maximum number of requests which can be processed simultaneously as one process handle only one request at a time. This setting existed before in FastCGI Extension v1.0. However, with FastCGI Extension 1.5 it can be set to 0, which will turn on automatic adjustment of the maximum number of instances. When it is set to 0, FastCGI Extension will constantly analyze current CPU load and memory availability and based on that will increase or decrease the number of FastCGI process instances running at the same time.

  • SignalBeforeTerminateSeconds - Specifies the number of seconds to elapse after setting shutdown event and before calling TerminateProcess thereby forcibly terminating the process. Default value is 0 which means event is not set and FastCGI processes can be terminated abruptly at any time. If this value is greater than 0, FastCGI process will create an event which is inherited by the child process. Handle value of this event is set as environment variable _FCGI_SHUTDOWN_EVENT_. The name of the named pipe, used to communicate with the process is stored in environment variables _FCGI_X_PIPE_.

  • ActivityTimeout - This is the number of seconds that the FastCGI handler waits for I/O activity from a process before it is terminated. This setting existed before in FastCGI Extension 1.0 but in v1.5 its default value has been increased from 30 seconds to 70 seconds.

The new FastCGI Extension 1.5 Beta can be downloaded at:

FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 (x86)

FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 (x64)

Don Raman
SDET, IIS Team