Web Trenches

Fix for SLOW IIS after upgrading from ColdFusion 8/9 to 10

I was contacted by someone who described the following performance issue with an IIS7 server that was upgraded from ColdFusion 9 to ColdFusion 10.

IIS 7 is responding excruciatingly slowly, and not just with Coldfusion pages, but any page.  As it stands now a simple hello world htm file is taking, often, up to a minute to load. I also have created simple Coldfusion pages to test the "straight" URIs for, and the response time is similar, but in the debugging, Coldfusion is processing at a very fast pace. It appears that IIS is taking too long to hand the process over to Coldfusion.  I find nothing in the Windows event viewer, nothing in the Coldfusion error logs (you wouldn't believe how long it takes to bring up the administrator, and then click through to the logs… It's excruciating.) And nothing in the IIS logs to give me a clue to what's going on here.  If there is anything you could think of, or perhaps any tools you may be aware of to help guide me, I would be much appreciative.

I've seen this happen with several ColdFusion upgrades.  The problem is that the script mappings in IIS for the older version of ColdFusion still exist.  Even with the old version stopped (or gone), IIS is still trying to process the files through the script map (DLL) for the old version of ColdFusion.  The easiest way to resolve this issue is to run the Web server configuration tool that came with the previous version of ColdFusion and REMOVE all the connectors.  Then, run the configuration tool for CF10 and remove and reconnect the sites.  

For ColdFusion 8, 9, and 10, you can start the connector tools from the Start menu in Windows…

Start > Programs > Adobe > ColdFusion [version] > Web Server Configuration Tool

If you prefer not to use this tool, or can't run it for some reason, you can do this manually in IIS by removing all the handler mappings associated with ColdFusion 8 or 9.  If you do it manually, don't forget to remove the wildcard script map.  That is the one that maps * to jrun_iis6.dll or jrun_iis6_wildcard.dll.  It is also the one that will cause even .htm/.html files to respond slow – everything (*) goes through it, even if not processed by ColdFusion.   These script mappings can be viewed and deleted using the IIS Manager and opening Handler Mapping for the site being impacted.

Removing the old script/handler mappings from IIS immediately resolved the issue that was reported.

2 Replies to “Fix for SLOW IIS after upgrading from ColdFusion 8/9 to 10”

  1. Hello – I was having a similar issue and I increase the amount of workers in the IIS Pool. Changed the port on server.xml to something above 8505 and restarted the machine. This seem to have done it. Any other ideas as to where to look would be welcomed.

Leave a Reply

Your email address will not be published. Required fields are marked *