FastCGI Settings

 

Applies To: Windows Server 2012 R2, Windows Server 2012

Web servers use the FastCGI (Fast Common Gateway Interface) protocol to communicate with external applications. The FastCGI protocol defines how information is passed between the web server and an external FastCGI application. When a request is sent, the web server starts a FastCGI application to process the request, and generate dynamic responses to send back to the client.

FastCGI applications handle HTTP requests and each one consists of a collection of process pools. Within the pools, each process handles requests one at a time and, upon completion, returns to the pool until it receives another request.

Use the FastCGI Settings page to configure process pool settings for the Fast CGI applications on your Web server. You can add FastCGI applications for use by sites on your web server, and specify configuration properties such as the processing variables and maximum requests for these applications.

Related scenarios

In this document

UI Elements for FastCGI Settings

The following tables describe the UI elements that are available on the feature page and in the Actions pane.

Feature Page Elements

Element Name

Description

Full Path

Lists the physical path of the process executable to use in the process pool.

Arguments

Lists the arguments to pass to the selected FastCGI application at start time. If several FastCGI process pools exist for a single process executable, these arguments can be used to identify a FastCGI process pool.

Max. Instances

Lists the maximum number of FastCGI processes to allow in the application process pool for the selected FastCGI application. This number also represents the maximum number of concurrent requests that the FastCGI application can handle. The default value is 4.

For the Windows® 7 and Windows Server® 2008 R2 operating systems only, setting the MaxInstances property to 0 lets IIS automatically select the optimal number of FastCGI processes for the current execution environment.

Instance Max. Requests

Lists the maximum number of requests that the selected FastCGI application processes before recycling. The default value is 200.

Actions Pane Elements

Element Name

Description

Add Application

Opens the Add FastCGI Application dialog box that lets you configure general and processing properties.

Edit

Opens the Edit FastCGI Application dialog box that lets you change the general and processing properties for the selected application.

Remove

Removes the selected FastCGI application.

Add or Edit FastCGI Application Dialog Box

Use the Add FastCGI Application and Edit FastCGI Application dialog boxes to add or edit general and processing properties for an application.

For more information about FastCGI applications, see the FastCGI Settings [w8].

Element Name

Description

Full Path

Specifies the physical path of the process executable to use in the FastCGI application pool.

Click to find the physical location of your FastCGI process executable file.

Arguments

Specifies the command-line arguments that are passed to the FastCGI process. These arguments can be used to uniquely identify a FastCGI process pool in cases where several FastCGI process pools exist for a single process executable.

Environment Variables

Specifies the collection of environment variables that are set for the process executable program. This property is optional. Click the Browse () button to open the EnvironmentVariables Collection Editor, from which you can add and remove members and define property values. For more information, see the Environment Variables Dialog Box UI Help page.

Instance MaxRequests

Controls the FastCGI process-recycling behavior. Specifies the maximum number of requests that a FastCGI application is allowed to handle before the process is recycled. The default value is 200.

Max Instances

Specifies the maximum number of FastCGI processes to allow in the application process pool for the selected FastCGI application. This number also represents the maximum number of concurrent requests that the FastCGI application can handle. The default value is 4.

For the Windows® 7 and Windows Server® 2008 R2 operating systems only, setting the MaxInstances property to 0 lets IIS automatically select the optimal number of FastCGI processes for the current execution environment.

Monitor changes to file

This property applies to the Windows 7 and Windows Server® 2008 R2 operating systems only.

Specifies the path of a file. Changes to this file trigger recycling of FastCGI processes. You can specify the absolute path and also the path that is relative to the location of the FastCGI executable.

Standard error mode

This property applies to the Windows 7 and Windows Server® 2008 R2 operating systems only.

Specifies how to handle errors that are reported by a FastCGI process. The following options exist:

  • ReturnStderrIn500 — This module sets the status code to 500 and sends what is received on STDERR as a response. This is the default value and has the same behavior as IIS 8.

  • ReturnGeneric500 — This module sets the status code to 500, but will return a generic 500. This configuration is useful if you want to enable detailed error logging for a server but do not want to return these errors to users.

  • IgnoreAndReturn200 — This module sends what is received on STDOUT as a response with the status code 200. The text on the STDERR stream is ignored. This property is useful if you want to use debug statements for tracking purposes.

  • TerminateProcess — This module terminates the FastCGI process and returns the generic 500 error message.

ActivityTimeout

Specifies the maximum length of time that a FastCGI process for the application is allowed to run without communicating with IIS before the process times out. This timeout can be used to detect and shut down hung processes. The default value is 30 (seconds).

FlushNamedpipe

Specifies whether the named pipe is flushed at the end of each request and before shutting down the application. If the named pipe is flushed, the value is set to true. The default value is false. This property applies only when the named-pipe protocol is used.

Protocol

Specifies the protocol to use to communicate with the FastCGI process. The possible values for the Protocol property are 0 (NamedPipe) or 1 (TCP). The default value is 0 (NamedPipe).

Idle Timeout

Specifies the time interval that a FastCGI process for the application can remain idle, after which an idle process ends. The default value is 300 (seconds).

Queue Length

Specifies the maximum number of requests that are queued for the FastCGI application pool. When the queue is full, subsequent requests return the HTTP error code 503 (Service Unavailable) to clients. This error code indicates that the application is too busy. The default value is 1000.

Rapid Fails PerMinute

Specifies the number of FastCGI process failures allowed in a minute before the FastCGI handler takes the process offline. The default value is 10.

Request Timeout

Specifies the maximum time allowed for a request to the application. If a FastCGI process takes longer than the specified time on a single request, it is terminated. The default value is 90 seconds.

Environment Variables Collection Editor

Environment variables are strings that contain information such as file name or path. These variables control the behavior of various programs on a computer.

When you add or edit a FastCGI application, you can define values for the application properties. For example, you can define values for environment variables. These environment variables are set by the FastCGI module during the start time of a FastCGI process. The environment variables are set for the FastCGI process only and are not seen by any other processes that are running on that computer. Click the Browse () button when you set the EnvironmentVariables property to open the EnvironmentVariables Collection Editor dialog box. This lets you specify optional environment variables that are set in the FastCGI executable. If any of the supplied variable names collide with existing server variables, the ones specified in this property are used.

Element Name

Description

Members

Contains a list of the members in the environment variables collection. Each member consists of a name-value pair. To add a member, type a name and value in the Name Properties pane, and then click Add. To remove a member, highlight the member in the list, and then click Remove. To change the order in which these members are stored in the ApplicationHost.config file, use the Up and Down arrows. Because all name-value pairs are unique, the order will not affect functionality.

Name

Type a unique name for the member.

Value

Type a value for the member. This information is stored with the corresponding name in the ApplicationHost.config file.

Sort icons

Use these icons to sort the name-value collection pairs by category, property pages, or alphabetically.