In my job to support Adobe ColdFusion, I ran into lots of problems. That was awesome, because it meant the opportunity to learn real world solutions. Our whole team constantly learns by real world experience, it allows us to provide the best ColdFusion Hosting.
In mid 2009 there was a bug that plagued many ColdFusion 9 websites. The infamous “Class Loader Bug” in Java 1.6.0_(pre 10). We tried everything to keep servers stable. This point in time severely strengthened what we had learned about ColdFusion Performance Tuning:
- Not to accept the default settings for ColdFusion (memory or other).
- By methodically tackling problems performance would improve.
- Pay close attention to Garbage Collection configuration and metrics.
These are the 3 most important points to solving ColdFusion Problems.
Common ColdFusion Problems We Experienced:
- Blank Page
- 500 Errors
- Long Running Pages
- JRUN Error (now Tomcat related)
- OOM Errors (out of memory)
Start finding and Fixing ColdFusion Problems
We use these same methods, with the help of in house tools & procedures to give customers the best ColdFusion hosting. These steps won’t fix every problem, if it’s hardware related for example. They will however give you a great chance at solving common issues that impede performance.
- Narrow down the symptoms. This might seem obvious, but in an active application with includes or cfc’s you need to discover the actual requests that are taking the longest to run. There are a few ways to do this.
- (Simple Way) SeeFusion or Fusion Reactor, you can monitor recent requests, and slow requests. Sometimes that’s enough. Both SeeFusion and Fusion Reactor install easily, and you can easily find this details about page requests.
- (Simple Way – If you have CF Enterprise) Use the Monitoring in ColdFusion Enterprise. Similarly you can monitor requests to discover which ones are taking the longest.
- (Complex Way) Either of the three tools mentioned above, get the thread dump. This can be tricky, if the requests isn’t super slow. Charlie Areheart describes Easier thread dumps and stack traces very well. When you need to confirm your suspicions or need more detail about what the JVM is working on – proceed.
- Find and Fix Easy Problems. Step 1 might have lead you to a query written a long time ago. One that looks like “Select * FROM X”. If that’s the case, you may have found an easy win. In your SELECT statement only grab columns with data you need. If possible index those columns frequently accessed in large tables. Another huge speed bump is image manipulation with cf.
How MySQL Uses Indexes & How to Avoid Full Table Scans
- SQL CREATE INDEX Statement & SQL Server Index Design Guide
- Handle images with care. Do not resize images on the fly, it kills ColdFusion the server. See: cfimage & cffile – optimize image rendering in three steps
ColdFusion Heap, GC & Connector Settings. It might have been appropriate to put this as #1, however if code is poorly written or database that’s not optimized the best ROI will be resolving those areas. We will touch on these in Part 2 of Fix ColdFusion Problems And Be A Hero.
PS: Find VPS plan you want using the link above, and Schedule a consultation to get your 60 days free. This promo ends Nov 1st.Tags: ColdFusion Hosting, ColdFusion VPS hosting