Skip to main content
Participant
January 19, 2010
Question

ColdFusion on Windows 2008 Server / IIS7 - very slow

  • January 19, 2010
  • 2 replies
  • 2196 views

We have a huge problem with ColdFusion installations on Windows 2008 (32 and 64bit) and IIS7.

Everything works fine, till suddenly the response begins slowing down. Short after that all web sites will be not accessible. There is no affect with restarting from different ColdFusion instances. The only way to recover the web sites is to restart WWW Service or to remap these applications with another IP address to another server.

We have the following environments in deployment, with described problem:

- Win 2008 32bit (II7) with ColdFusion 8 (Multiserver Installation)

- Win 2008 64bit (II7) with ColdFusion 8 (Multiserver Installation)

- Win 2008 64bit (II7) with ColdFusion 9 (Multiserver Installation)

The only environment that works fine is:

- Win 2003 32bit (II6) with ColdFusion 8 (Multiserver Installation)

Important note:

All these environments have been deployed as Windows HyperV instances (virtual machines) on the same physical server.

Does anybody have experience with similar issues? The whole situation is very unsatisfied and takes along already a few months.

For any suggestion, many thanks in advance!!!

    This topic has been closed for replies.

    2 replies

    Inspiring
    January 25, 2010

    Adam's suggestions are definitely where I'd first look (and he's right, 500MB is way too

    low for a production server).

    But since the problem *appears* to be from IIS, maybe try using Apache httpd for a day and see if the problem goes away.  Even if you're not an Apache fan and don't want to move to it perminently, it could at least help verify the possibility of IIS being the source problem.

    To install Apache will require very little downtime (with proper planning and pre-configured configs) and CF will not need to be reinstalled.  However, if you've never done it I strongly advise consulting an expert first (being that it is a production server).

    Good luck,

    --

    JeffC

    Inspiring
    January 19, 2010

    * how much RAM have you got allocated to the JVM for these instances?

    * what's happening to memory usage on the servers (ie: is it going through the roof)?

    * is there anything in the CF or JRun log files that indicate a specific template is kicking off problems on the box?

    * have you looked at the server monitor to see if there's anythign obvious in there going on (like common DB hits taking an age to run and queuing up all the threads etc)

    * do you see similar behaviour when you do your load testing in your lab, or is it a vagary of the live environment?

    --

    Adam

    Participant
    January 19, 2010

    Hi Adam

    Thanks for your quick response.

    1. how much RAM have you got allocated to the JVM for these instances?

    - about 500 MB, there are per server 6 CF instances and the whole HyperV instance has 7 GB's. There are 4 HyperV's on the main server and each server has exactly the same CF Configuration. The difference is only Windows/IIS and ColldFusion version. Note: The combination Win 2003 (32bit) and CF 8 work very fine

    2. what's happening to memory usage on the servers (ie: is it going through the roof)?

    - no, everything is fine, means in worst case it has been about 6 from 7 GB's used.

    3. is there anything in the CF or JRun log files that indicate a specific template is kicking off problems on the box?

    - no, I found nothing suspicious. It is very strange that with slowing down all applications from different CF instances will be unavailable and not only one application.

    4. have you looked at the server monitor to see if there's anything obvious in there going on (like common DB hits taking an age to run and queuing up all the threads etc)

    - no, this will be he next step I need to do.... Otherside, windows logs show nothing unusual. The DB server works furthermore very fine, because applications from other HyperV instances at the same time have no problem and have already active DB connections.

    5. do you see similar behaviour when you do your load testing in your lab, or is it a vagary of the live environment?

    - unfortunately it is live environment. As development environment we have just a stand alone server - Win 2003 + CF 8

    It is very strange, because all active CF instances will be affected. With researching and working around (internal migrations from server to server), I noticed that, in case if we chang IP address (Firewall NAT), all affected applications work fine. For tests I make explicit an entry in HOST file on my PC, to follow what will be happen with running / not responding session. After saving changes on firewall, about 1 min later, it works fine again on affected server. It looks like, it has something to do with traffic, but on the IIS, there is no limitation with number of connections or something related.

    Regards

    Dejan

    Inspiring
    January 19, 2010
    1. how much RAM have you got allocated to the JVM for these instances?

    - about 500 MB,

    I mean, exactly how much have you got allocated to the JVM.  ie: the Xmx setting in jvm.config.  Not just how much RAM is floating around if you divide total RAM by how many instances.  That figure is not so important (unless the actual setting is higher, obviously ;-)

    500MB is very low for a production server, btw.

    3. is there anything in the CF or JRun log files that indicate a specific template is kicking off problems on the box?

    - no, I found nothing suspicious. It is very strange that with slowing down all applications from different CF instances will be unavailable and not only one application.

    So there's no sudden reporting of requests being terminated after [an ever increasing amount of time]?  That's odd.

    What's your request time out setting?

    For that matter, what are your session timeouts too?  Is it a session-heavy site (ie: people being logged in to [something] as opposed to just clicking around).

    Are you caching rendered HTML, or serving it up dynamically with every request?

    How many requests per second are you getting?


    I think the next thing to do is to look at the server monitoring stuff.  That usually shows up problematic code fairly quickly.  I've never used CF's in-built stuff, but I've used FusionReactor and I understand CF's implementation is similar (if not quite so good).

    --

    Adam