We’ve been hearing the “ColdFusion is slow” nonsense for as long as the platform as been around. (Quick history tidbit: We still have support emails from back when Jeremy Allaire was sending them himself!) In our opinion, whenever someone repeats this tripe, that person is instantly branded a software novice, and, probably, one with an anti-ColdFusion axe to grind, too. Since we’ve been ColdFusion performance engineering specialists going all the way back to our days at Allaire, we’ve always known that ColdFusion (which is to say Java) is not inherently slow. Does ColdFusion provide a lot more rope with which developers and system/network administrators can hang themselves (and their ColdFusion systems)? Absolutely. And thus, ColdFusion’s greatest strength has also always been its greatest weakness–its out-of-the-box capabilities and low learning curve are unparalleled. As with life in general, however, with such power always comes great responsibility, too. ColdFusion is just software, and if you’re not following the best practices for developing fast, stable software, then you can program and/or configure any software platform into the ground, performance-wise. That’s basically what we do in our performance engineering practice–we apply (usually retroactively) all of the best practices necessary to create the fastest possible ColdFusion systems.
But, don’t just take my word for it. Let me dazzle you with some real-world numbers. One of the systems that we tuned recently was peaking at 200-300 requests per second. Here’s a screenshot, so you can see for yourself:
Mind you, this was a single 32-bit Windows machine, so it wasn’t even a leading-edge hosting platform. (All of the ColdFusion hosting environments that we design and implement these days are all-64-bit, which makes an enormous difference in terms of CPU utilization, RAM, etc.) All of this performance was coming out of a humble little 1.4GB memory space. When you get things right in terms of properly tuning a ColdFusion system–garbage collection, query activity, etc., etc.–then ColdFusion will stack up against any other Web application platform, or even lead the pack, when it comes to speed.
So, let the word go forth today–the notion that ColdFusion is somehow inherently slow is bollox. For those of you not familiar with British English, the American English translation is: Bullshit! (The title of the blog post is in honor of our British Co-Founder, Mike Brunt, who was the lead performance engineer on this engagement.) Happy tuning to you all, and please give us a ring if you’d like our help making your ColdFusion systems as fast and stable as possible.