Improve ColdFusion Performanceby tuning the Connector and using ColdFusion-Tomcat LoggingMilan & Mike
Loss??
Loss of 8 hours
Crucial
CF WebServerConnector
Crucial
CF WebServerConnector
Crucial
CF WebServerConnector
Crucial
CF WebServerConnector
Performance▪ Tuning Connector
▪ Re-configuration
▪ ColdFusion- Tomcat Logging
Tuning▪ Connection Pool▪ Mappings▪ Buffering
Properties
Properties
Tuning▪ Connection pool▪ Mappings▪ Buffering
Tuning▪ Connection pool▪ Mappings▪ Buffering
Tuning▪ Connection pool▪ Mappings▪ Buffering
Connection Pool
Connection Pool
CF WebServerConnector
Connection Pool
CF WebServerConnector
TomcatConnection-pool
ConnectorConnection-pool
Connection Pool▪ Pool size
Connection Pool▪ Pool size ?
Connection Pool▪ Pool size ?
▪Server Scalability▪Scalability needs
Connection Pool▪ Pool size = 1000
▪Server Scalability = 2000▪Scalability needs = 700-800
Connection Pool▪ Pool size = 1500
▪Server Scalability = 1500▪Scalability needs = 2000+
Connection Pool▪ Pool size
Connection Pool▪ Pool size
worker.cfusion.connection_pool_size
Connection Pool
CF WebServerConnector
TomcatConnection-pool
ConnectorConnection-pool
Connection Pool
CF WebServerConnector
TomcatConnection-pool
ConnectorConnection-pool
Connection Pool▪ Pool size▪ Reuse Connection
Connection Pool▪ Pool size = 1000▪ Reuse Connection = 1000
Connection Pool
CF WebServerConnector
TomcatConnection-pool
ConnectorConnection-pool
Connection Pool
CF WebServer
Connector
TomcatConnection-pool
ConnectorConnection-pool
All /One
Connection Pool
CF WebServer
Connector
TomcatConnection-pool
Connector SiteOne
SiteTwo
Connection Pool
CF WebServer
Connector
TomcatConnection-pool
Connector SiteOne
SiteTwo
Connection Pool▪ Pool size = 1000▪ Reuse Connection = 900
▪ Pool size = 100▪ Reuse Connection = 0-100
SiteOne
SiteTwo
Connection Pool▪ Pool size▪ Reuse Connection
worker.cfusion.max_reuse_connection
Connection Pool▪ Pool size▪ Reuse Connection▪ Timeout = 60 (30 – 60)
Connection Pool▪ Pool size▪ Reuse Connection▪ Timeout worker.cfusion.connection_pool_timeout
Tuning▪ Connection pool▪ Mappings▪ Buffering
Tuning▪ Connection pool▪ Mappings▪ Buffering
Mappings▪ /rest/* = cfusion▪ /*.cfm = cfusion
Mappings▪ /rest/* = cfusion▪ /*.cfm = cfusion
Mappings▪ /rest/* = cfusion▪ /*.cfm = cfusion
▪ worker.cfusion.max_pool_size
Mappings
CFcfusion
WebServerConnector
Mappings
CFcfusion
WebServerConnector
cfusion
Mappings▪ /rest/* = cfusion▪ /*.cfm = cfusion
▪ worker.cfusion.max_pool_size
Mappings
cfusioninstance1
WebServerConnector
cfusion1instance2
REST
Mappings▪ /rest/* = cfusion▪ /*.cfm = cfusion
▪ /rest/* = cfusion1▪ /*.cfm = cfusion1
Mappings
cfusioninstance1
WebServerConnector
cfusion1instance2
cfusion1
cfusion
Mappings▪ /rest/* = cfusion▪ /*.cfm = cfusion
▪ /rest/* = cfusion1▪ /*.cfm = cfusion1
Mappings▪ /*.cfm = cfusion
▪ /rest/* = cfusion1
Tuning▪ Connection pool▪ Mappings▪ Buffering
Tuning▪ Connection pool▪ Mappings▪ Buffering
Buffering
Buffering
Buffering
Buffering▪ Enable buffering
Buffering▪ Enable buffering
iis_buffer_enable = true
Tuning▪ Connection pool▪ Mappings▪ Buffering
Performance▪ Tuning Connector
▪ Re-configuration
▪ ColdFusion- Tomcat Logging
Re-Configuration
Re-Configuration▪ Removing Connector▪ Installing Connector
Re-Configuration▪ Removing Connector
Re-Configuration▪ Removing Connector
Re-Configuration▪ Removing Connector▪ Installing Connector
Re-Configuration▪ Removing Connector▪ Installing Connector
Re-Configuration▪ Removing Connector▪ Installing Connector
Lost custom changes
Re-Configuration▪ Backup▪ Removing Connector▪ Installing Connector
Re-Configuration▪ Backup▪ Removing Connector▪ Automatic Backup▪ Installing Connector
Removing Connector
Removing Connector
Removing Connector
Automatic Backup
Installing Connector
Installing Connector
Installing Connector
Backup directory
Backup directory
Backup directory
Re-Configuration▪ Removing Connector▪ Automatic Backup▪ Installing Connector
Performance▪ Tuning Connector
▪ Re-configuration
▪ ColdFusion- Tomcat Logging
ColdFusion-Tomcat Logging
Logs are the key to troubleshooting and
tuning
ColdFusion-Tomcat LoggingOne of the biggest differences from JRun to Tomcat occurred in
Logging.Directory structure change Std JRun C:\ColdFusion9\cfusion\logs & C:\ColdFusion9\cfusion\runtime\logs Enterprise C:\JRun4\logs & C:\JRun4\Servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\
cfusion\logs C:\ColdFusion11\cfusion\logs
ColdFusion-Tomcat LoggingOne of the biggest differences from JRun to Tomcat occurred in
Logging.Java Logger Change
JRun used log4j ColdFusion on Tomcat uses Java Commons Logging (JCL)
log4j is far more configurable than JCL
ColdFusion-Tomcat LoggingLog setting control Tomcat setting files C:\ColdFusion11\cfusion\runtime\conf\catalina.properties (jar file scanning) C:\ColdFusion11\cfusion\jetty\jre\lib\logging.properties C:\ColdFusion11\cfusion\jnbridge\jre\lib\logging.properties C:\ColdFusion11\cfusion\runtime\conf\logging.properties C:\ColdFusion11\jre\lib\logging.properties ColdFusion settings file C:\ColdFusion11\cfusion\lib\neo-logging.xml
Performance▪ Tuning Connector
▪ Re-configuration
▪ ColdFusion- Tomcat Logging
Questions▪ blogs.coldfusion.com▪ cfml.slack.com – adobe▪ milanchandnacf.blogspot.com
Thank you – by Milan & Mike