210 likes | 356 Vues
This detailed guide provides step-by-step instructions for installing, configuring, and troubleshooting ColdFusion. It begins with preparing the server, ensuring the necessary services are installed, and outlines key configuration settings. Explore JVM configuration principles, including memory allocation and garbage collection specifics tailored for production environments. The guide also covers common troubleshooting steps and performance monitoring techniques, ensuring your ColdFusion installation runs smoothly. Whether you are new to ColdFusion or looking to optimize performance, this manual serves as a valuable resource.
E N D
Installing, Configuring And Troubleshooting Coldfusion Mark A Kruger CFG Ryan Stille CF Webtools
Installing: Prep the Server • 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
Install: The Installer • 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 sensitive) @echo 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)
Running/Queued (Request Stats) Memory Usage Performance – Server Mon.
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 Email • Snapshots are useful as well
See Fusion – an Alternative • Cost 300.00 • 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 • <cfset session.x = application.fnc(y)/> • 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 • www.robisen.com • JVM Options: • http://blogs.sun.com/watt/resource/jvm-options-list.html • Sun’s Tuning GC http://java.sun.com/docs/hotspot/gc1.4.2/index.html • www.petefreitag.com • www.talkingtree.com/blog/