Auto-tuning of connectors

When there is a heavy load on sites, requests to the site crash and the number of busy connections exceeds the pre-configured pool size. This makes connector tuning highly critical in any production deployment of a ColdFusion server or application.

In earlier releases of ColdFusion, you had to perform the following steps:

  • Stop the application pool
  • Manually increase the connection pool size
  • Reuse connections based on some estimation
  • Restart the web server

With Performance Monitoring Toolset in the 2018 release of ColdFusion, you can enable the option Enable auto tuning in the Settings page.

Enable auto tuning
Enable auto tuning

On the same page, you can now configure parameters such as threshold percentage and pool increase percentage. The Performance Monitoring Toolset takes care of heavy traffic and increases the pool size on the fly, thus nullifying the crashes faced earlier without any manual intervention.

You can also set the maximum pool size value. The Maximum limit of the pool size for any site cannot cross 2000 (default).

The threshold at which auto-tuning is triggered is at 90% of the pool size and the pool would be increased 20%.

For example, if the pool size is 100, then the auto-tuning is triggered if the busy connections are more than 90 and the pool size is increased to 120.

During auto-tuning, the pool-size is increased automatically and there is no need to restart IIS.

Note:

  • After the idle timeout, the pool size that is increased during auto-tuning is reset to the pool size that you had set during connector configuration.
  • While configuring connectors, if the sum of pool size of all the sites configured is above 500, then manually increase the maxThreads property of the AJP connector in server.xml.
  • During auto-tuning, the pool size is auto-tuned at IIS connector level. In the CF Server page,  there is a property maxThreads which does not get auto-tuned. There is a queue at ColdFusion server level, which queues the request if there are no worker threads available. But there is no such queue at mod_jk connector level.

In case of Apache, the documentation clearly says “The maximum connection pool size can be configured with the attribute connection_pool_size. We generally do not recommend to use this attribute in combination with Apache HTTP Server. For Apache, the toolset automatically detect the number of threads per process and set the maximum pool size to this value.”

Ref: https://tomcat.apache.org/connectors-doc/common_howto/timeouts.html

Hence, we are not tuning the connection pool size.

Note: Connector auto-tuning is applicable only for IIS and not for Apache.

You can see which site is connected to which ColdFusion instance/ ColdFusion cluster in Topology/Sites view.

Connector page

On the Overview page, you can see all sites configured with clusters or sites or groups. For a site to be displayed on the Overview page, make at least one request from the sites configured with ColdFusion.

Click any site to view the detailed view of only that site. To view consolidated information about the sites in the cluster, click Connector on the left pane.

Connectors
Connectors

You can only see a maximum of four sites in the Connector page. If there are the other sites, click Sites drop-down and select/de-select the respective sites. The selection is auto-saved for you.

If the sites are configured to a cluster, you can drill down further to see the connection details of theindividual workers.

Busy connections

The Busy connections graph displays the number of busy connections and pool size of a site for that instance of time. Hovering on the auto-tuned marker on the graph indicates how many times the site got auto-tuned in a time interval . The values of the icon are aggregated based on the time interval selected.

Busy connections
Busy connections

Average Response Time

This time series graph displays the ART of a site at any instant.

Average Response Time
Average Response Time

List of sites in a cluster

In case of cluster, click any site to get a detailed view of the site. When you click any site, you can see the busy connections and health of the worker threads.

List of sites in a cluster
List of sites in a cluster

Auto-tuning of site

On the Busy Connections graph, there is an icon called Auto-tuned that indicates auto tuning of a site.

The new pool size that is shown on the graph is based on the number of times the site got auto tuned multiplied by the pool size percentage in the Settings page.

Auto tuning of your site happens till the maximum pool size is reached, specified in the Settings page.

Configuration alert

When the maximum pool size reaches a certain threshold, you can configure Performance Monitoring Toolset to issue alerts.

Configure alerts
Configure alerts

Health score of a site

The Health score section shows the health of the site, based on the load of the site. A site is shown as inactive if the site crosses the idle timeout for IIS.

For more information on calculating health scores, see Health Scores.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy