About request handling
The Simultaneous Requests setting on the Settings page of the ColdFusion Administrator has the largest impact on how well an application performs under load. This setting dictates how many threads are used to simultaneously process incoming requests. For most applications, a good starting point for the optimal value for this setting is 3 per processor; you can set a dual processor machine to 6 simultaneous requests. To find the optimal value for this setting, test your application under load with different values until you find the one that provides the best performance under load. While testing your application, you can view the average response time on the Server Monitor Summary page and the reports in the Request Statistics section.
The total number of requests, including queued and running requests reflect the total number of requests actually running or queued in the server. This means that the queue number includes the sum of all queues. The running number does not include those requests that are waiting in a request specific queue.
The Request Statistics section contains the following pages:
Active Requests page
The Active Requests page lists all currently active requests that take longer to load than the request interval for reports specified on the Refresh Interval page. Requests include browser requests, CFC HTTP requests, web services, gateways, and Flash remoting. You can view a list, a detailed view, or a graph of active requests. The detailed view includes the CFML stack trace, which you can use to find where a long running request is blocked and deadlocked requests. To abort a request, click the orange Abort Request button to the left of the request. To see all request graphs in one view, click the Chart button. The report displays graphs that indicate the following:
· Average server response time - Data is the average for a minute. A low average response time indicates a server that is operating efficiently.
· Requests per second - Data is the average for a minute. A high number of request per second indicates a server that is operating efficiently.
· Running and queued requests (on standalone configurations) - The graph indicates the number of requests currently being processed by the server and the number of requests awaiting allocation of an application server thread to begin execution. If the graph indicates that there is a large number of queued requests, you may want to increase the size of the thread pool. Alternatively, if ColdFusion is deployed in a cluster, you may want to add a server instance for more efficient load balancing
Note: The Server Monitor includes FDS Data Management Assemblers as Flash Remoting requests.
Active ColdFusion Threads
The Active ColdFusion Threads page lists all currently active threads launched by the cfthread tag.
Slowest Requests page
The Slowest Requests page lists the slowest requests. You can specify the threshold that determines whether a request appears on this page. The lower the threshold, the more requests appear on the list. You can view a list or a detailed view of the slowest requests. The detailed view includes the CFML stack trace.
Slowest ColdFusion Threads page
The Slowest ColdFusion Threads page lists the slowest threads launced by the cfthread tag. You can specify the threshold that determines whether a thread appears on this page. The lower the threshold, the more threads appear on the list. You can view a list or a detailed view of the slowest requests. The detailed view includes the CFML stack trace.
Active Sessions page
The Active Sessions page lists all active sessions. You can view a list, a detailed view, or a graph of active sessions. The graph displays the active sessions and the number of users logged in to the server.
Cumulative Server Usage page
The Cumulative Server Usage page lists the requests that have cumulatively used the most CPU time on the server. Even if a request executes rapidly, if it may execute frequently, it can consume a large proportion of CPU time. Tuning requests with high cumulative server time can provide server-wide performance benefits. You can view a list, a detailed view, or a graph of cumulative server usage.
Highest Hit Counts page
The Highest Hit Counts page lists the requests that have the highest hit count. You can view a list or a graph of requests with the highest hit count.
The Template Cache status page shows information about the template cache to indicate how well it is performing. The template cache is where ColdFusion stores compiled CFM and CFC templates in memory. When a template is executed for the first time, it is compiled to Java bytecode, and then stored in the template cache. As long as the template is unchanged, ColdFusion uses the compiled form of the template stored in the template cache. The Template Cache status page lets you monitor cache hit ratio, which indicates the number of cache hits in relation to the number of cache misses. Cache hits are the templates retrieved from the cache. Cache misses are the templates that must be compiled before being placed in the cache.
A well performing server should have more cache hits than misses, which is a high cache hit ratio. If the cache hit ratio is too low, you may want to increase the cache size by selecting Server Settings > Caching in the ColdFusion Administrator. The Template Cache page also lets you monitor the number of templates in the cache, and the estimated memory that the cache occupies.
Note: The template cache count includes both the Least Recently Used (LRU) cache and the soft cache. As a result, the count can exceed the number configured in the ColdFusion Administrator.
Request Throttle Data page
The Request Throttle Data page lists all requests that have been throttled by the ColdFusion server. Requests are throttled when ColdFusion queues them because there is not enough total memory available to handle them. Requests smaller than the specified limit are neither queued nor counted as part of the total memory. Requests larger than the specified limit are counted as part of total memory and are queued if the request throttle memory size has been exceeded. The default value is 4 MB. You can change the throttle threshold and memory by selecting Server Settings > Settings in the ColdFusion Administrator.