Most web application infrastructure is far from optimally configured, I have seen that so many times in so many places in some of the World’s largest/most famous organizations. Some of that happens because, with the possible exception of network infrastructures and operating systems, companies will usually install items with the factory configured defaults and never really try to figure out what is optimal for their application needs. They never look in the core of application servers, for instance, in the logs, the configuration files.
Typically the reason is poor documentation and a general lack of good training-tutorials which creates a natural fear of touching anything. In the CF 8 World we are more fortunate than many because we have the CF Administration GUI to help in configuring and monitoring our applications. However, I still find most clients hardly touch anything beyond a few familiar settings.
In ColdFusion 8 Enterprise edition there are 167 different settings which are available via the Administrator GUI. There has never been any really effective training for this and documentation is nowhere near as complete as it is for ColdFusion development. So, typically few settings are changed from the defaults. Also, in a single CF Instance there are 151 xml files and in some cases settings cannot be changed from the GUI but need to be changed manually, for instance, adding metrics logging.
It is also unfortunate that many do not even look at CF or JRun logs and in lots of cases I had clients who did not know they even existed. The net results of all these things is that in trying to fix a slow or unresponsive application most people I had been sent to help typically look first in the code.
There is no doubt that there are often problems in the code but if the server core, the “engine” is not tuned properly, we are actually starting in the wrong place by looking in the code. Here at Alagad we are focused on increasing knowledge of the server side. We have already blogged several times around that subject and will continue to do so. In addition will shortly be launching two new service offerings which at the same time as helping to fix problems will also help all of us to learn more about “the engine room”. These offerings are:
- Alagad Log Analytics – we will scour your logs and give you a report pinpointing potential and/or actual problems. We will also transfer our years of knowledge about log management and analysis to you.
- Alagad Garbage Collection Analytics – in this offering we will work with you to configure verbose garbage collection logs and then analyze the results making and explaining the reasons, again another point of knowledge transfer. Efficient Garbage Collection is the key to highly efficient J2EE application servers.
In the longer term we are also looking at developing training sessions for all aspects of server management and optimization, including a good meaty session on ColdFusion Administration. Keep an eye on our blog, we really are dedicated to passing on our knowledge.