I have been running awry of ColdFusion.
I am running Windows XP (not by choice), and had a local installation of ColdFusion 8 Server. The instance of ColdFusion was stopped since it is a bit of a memory hog and I was not actively using it. I have been working on getting an instance of Telligent Community Server up and running for evaluation purposes. I was baffled by the fact that the Telligent demo was taking around 10 minutes on average to load a page from the local system.
Needless to say, since everything else seemed to be running fine, I was blaming Telligent’s software. Then I started exploring a little more and figure out that IIS was taking around 30 seconds just to serve up an image. Something was definitely up, but despite all of my best troubleshooting skills, I could not source the problem.
I did what I always do when something goes wrong that I don’t understand, I turned to Google.
I tried about 20 different “solutions” until I stumbled across a forum post saying to start ColdFusion if it was installed. poof. The page that took 10 minutes to load before now takes 5 seconds. It turns out that the CF ISAPI plugin is constantly trying to talk to the server. If it can’t find the server, it doesn’t just die, it keeps trying. … on every. single. request.
strike one.
A short while later, I was working on trying to speed up a dashboard application that coworker and I had written. It is pretty simple. CF queries the database and retrieves somewhere in the range of 10-700 rows of data, turns them into objects, passes those objects off to Flex which then graphs the objects. It was performing fine as long as there was less than 40 rows. By the time you got up to a few hundred rows of data, it would take an obscene amount of time to load.
We scratched our heads for the longest time and were pretty convinced that the Flex chart control was to blame.
Then we had an idea. Instead of letting CF instantiate each row into an object, just send CF the results as an XML document from the database, let CF hand the XML off to Flex, and then proceed from there.
Same story. 10 minutes now became 2 seconds.
It seems that ColdFusion doesn’t do so well at creating objects.
strike two.
I’m not very pleased with ColdFusion at the moment.