Running a ColdFusion MX Server in Production
Revisiting somewhat the earlier topic of ColdFusion vs PHP speed, I have spent some time thinking about the issues facing ColdFusion hosts. One of the major issues, is that they can't really run their servers in full on ColdFusion production mode. They can't turn off all debugging. They can't tell ColdFusion to trust its cache, and many of them won't allow caching of templates, either with the cfcache tag, or in the administrator, because they don't allow access to the administrator.
It seems that ColdFusion running in its default mode tends to recompile each template dynamically on each request. This is more than likely taking place in memory, but each request still incurs an additional performance penalty. So, what I would recommend is that the hosting company check the “trusted cache” box in the ColdFusion Administrator, keep the “save class files” box checked and turn off debugging for security reasons, delete the documentation, and treat their webserver like it is a production server.
That being said, since this is not happening, the potential speed of the ColdFusion version of my site is much greater than the PHP version, since my hosting company does not employ the zend accelerator. With Zend, i'd wager that the two would still be the same, since if you reduce the amount of server overhead to zero, you are left with the cost of the database interactions. Still, of all the web scripting languages, ColdFusion is the most natural fit for the web due to its procedural processing and its tag based syntax. With CFCs it is possible for a very high degree of separation between business logic and the presentation layer. If it seems like I am a ColdFusion cheerleader, it is because it has often been the best tool for the web applications that I have built. Working with PHP is often like wrestling with a chimpanzee. Sure you'll win in the end, but the fight is going to take a while.