Installing, Configuring And Troubleshooting Coldfusion Mark A Kruger CFG Ryan Stille CF Webtools
Start with a Clean Server Put the following on the desktop Services CPL Command Prompt Perfmon Make sure IIS is installed Change Folder Settings Settings List for CF and IIS Installing: Prep the Server
Choose Your Poison Install: The Installer
Choose Your Services
Installer: Finishing Up Before Anything Happens Log into the Admin Begin By reviewing all the settings in the Admin against your idea of usage Add Data sources Configure CFX Tags, Mappings Etc (all of this should be prepared in advance)
JVM Configuration The “default” configuration is unsuitable for a production environment Edit it Using the File System NOT the Administrator: # Arguments to VM java.args=-server -Xmx512m -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC (..followed by some path settings) This is suitable only for a multi-purpose server where CF is services a few internal users.
JVM Configuration First Item is Memory Allocation: 2 schools of thought Min and Max the same as in –Xmx1024 –Xms1024 Some headroom for young gen recovery as in –Xmx1024 -Xms756 Beware of Limitations Windows – 1.5 gigs (max + PermSize) Linux – 2.5 gigs
JVM Configuration Garbage Collection Young Space Vs Old Space JVM 1.5 allows for specific garbage collectors for each space -server -Dsun.io.useCanonCaches=false -Xmx2048m -Xms2048m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC XX:PermSize=64m -XX:MaxPermSize=192m -XX:NewSize=48m -XX:SurvivorRatio=4 Other Mem Switches Permsize, maxpermsize, newsize and survivorRatio
The Magic Connector Script Found in cfusion8/bin/connectors Can resolve Web site being unable to serve CF Try it first when you install a new web Use this one for a single site (site name is case off set CFUSION_HOME=*where you put CF* echo You are configuring %1 pause %CFUSION_HOME%\runtime\bin\wsconfig -server coldfusion -ws IIS -site %1 - coldfusion -cfwebroot
Performance Performance Monitor (Windows)
Performance – Server Mon. Running/Queued (Request Stats) Memory Usage
Performance – Server Mon. Things You Can’t Find Elsewhere Threads By Memory Queries By Memory Active, Cached and Slowest Queries Pool Status Frequently Run Queries
Performance – Server Mon. Things You Can’t Find Elsewhere Threads By Memory Queries By Memory Active, Cached and Slowest Queries Pool Status Frequently Run Queries Don’t Trust the Session Tracking
Performance – Alerts Slow or Unresponsive Memory Timeouts JVM Memory Possible Actions Run a CFC Kill Long Threads Send an Snapshots are useful as well
See Fusion – an Alternative Cost Great overview Page Ability to Kill Long Running Threads Advanced Features JDBC query monitoring Alerts (“rules”) Stack traces Logging
Linux Tool - Jconsole Demo from Ryan
Some Current Issues Referencing From 2 Persistent Scopes Using a Class Loader with 1.6 Fix by downgrading to 1.5 (FYI we see no performance degradation when doing this) Memory Limitation Fix by upgrading to 64 bit (hardware, OS and CF enterprise) or use multi-server.
Downgrading to 1.5 Demo from Ryan Install 1.5 SDK Repoint the jvm.config file Keep the /runtime/Coldfusion-out.log at the ready to troubleshoot Restart the Service Check CF Admin to verify the version
Some Common Issues Debugging Turned on No use of Caching Improper Use of Application Variables Poor Query Code A “Default” Installation Networking Issue (JDBC setup, auto duplex synching etc) Bad Session Management Not thinking about agents and bots
Resources JVM Options: m-options-list.html m-options-list.html Sun’s Tuning GC c1.4.2/index.html c1.4.2/index.html
Q and A