As the Internet has grown over the past decade each new growth phase throws up new challenges and many of these cannot be solved until they become apparent, in other terms "you don’t know what you don’t know". ColdFusion has made the development and deployment of web applications easier, faster and possible without having to be an expert in low-level development languages. With the lower costs arising from the fact that companies are developing business applications so quickly with a lower cost development base they have been ablthe to utilize additional budgets to increase the complexity and size of the applications which has been great, the downside has been that some applications have grown so rapidly they have become critical to the enterprise and possibly outgrown their infrastructure and initial architecture making for issues around performance and scalability.
Macromedia could see this coming and hence make the call to move ColdFusion to the Java platform - a very good move that makes complete sense in the context of where the web is going. Many ColdFusion developers (myself included) knew very little about Java and have had a step learning curve in how Java works and how it works in the context of a ColdFusion application.
As the owner of a company that has developed a large application in ColdFusion that we sell around the world, and one that we let clients extend I have had my fair share of dealing with ColdFusion related performance issues - it’s no fun being woken up at 3am to solve a life or death ColdFusion "out of memory" error for a client on the other side of the planet I can tell you! These experiences drove us to develop processes and tools to help identify any issues quickly, at a distance and without the need for expensive profiling tools.
In this book I will share the information I gathered in resolving the issues and after reading this book I would hope that the reader would be quickly and easily debug performance issues in
ColdFusion. They should also gain the required knowledge to know how to optimize CFMX for their specific application.
The style of this book is to be as concise and to-the-point as is possible and will not dwell on unnecessary information. The book will concentrate on 3 core principles
Principle one: There is one of 3 reasons you are suffering performance problems
1. CPU Bottleneck
2. System Memory Management Issues
3. Network / Disk (IO) problem
Principle Two: To find the issue you will have to do the following
1. Simulate the load under which the system is failing
2. Record diagnostics when system is failing
3. Interpret the results and adjust the application code and/or server configuration accordingly
Principle Three: There are 5 things you can adjust (tune) to try and resolve any issues:
-
Application Code
-
ColdFusion Administration Settings
-
Application Server Settings
-
Web Server Settings
-
OS & Network Settings
Page Keywords
Scheduler Service
JRun
Proxy Service
TUNING YOUR JVM
JVM memory usage
Jrun metrics
memory leaks
CFMX Troubleshooting
Server Crashing
100% CPU
OUT OF MEMORY ERRORS
CPU HANGING OR SPIKING TO 100%
Tuning ColdFusion
Simultaneous Requests
ColdFusion Performance
CFMX Performance
Garbage Collection
CFMX
CPU Hanging