Skip to main content
Known Participant
May 20, 2008
Question

CF8.01 Cluster creation issues

  • May 20, 2008
  • 8 replies
  • 1473 views
I've just recently installed CF8.01 Enterprise edition with IIS 6, and I'm trying to wrap my head around creating instances from J2EE EAR archives and clustering them on the same machine.

I followed the official instructions for "Enabling clustering for load balancing and failover", but I don't quite understand why you'd want to overwrite the IIS website connected to the cfusion instance with the clustered instance, as this makes the cfusion CFIDE administrator page inaccessible. Should I create a separate webserver for the cluster first and connect it to that?

Also, how can I easily update the clustered instances? We're used to editing templates on a test machine and then copying the changes directly to the production server, but obviously it won't be that simple with multiple instances.
    This topic has been closed for replies.

    8 replies

    November 17, 2008
    Thank you!
    This does clear it up for me. So I think the best direction for our site is to use NLB.

    Thank you again
    Neil Chakrabarty
    Inspiring
    November 17, 2008
    WV_DEP_GUY wrote:
    > That is Cold Fusion 8 cannot do load balancing and failover without a third party product. Is this correct?

    I think it can, on the same machine. I.E. I know you can have multiple
    instances of ColdFusion installed on the same machine. I have read that
    this *can* be used for fail over and|or load balancing. Personally, I
    have only used it for application isolation.

    But I think when you start talking multiple physical servers, then you
    are looking outside of ColdFusion for your load balancing|fail over tools.

    Just be aware that there maybe more options here, depending on what you
    want to do. It is often not thought that a ColdFusion server can be
    separated from and configured to connect to one or more remote web
    server boxes. You can separate the web server layer from the
    application server layer. Then you can load balance|fail over these
    layers independently of each other as needed or desired.
    November 17, 2008
    Hmnn, so I think either NLB or a Cluster Device is required. That is Cold Fusion 8 cannot do load balancing and failover without a third party product. Is this correct?
    November 17, 2008
    NLB is great if you've got just a small site or two with a smaller load requirement. But as Neo says, you'll want to look into a hardware based load balancer.

    I personally detest Cisco's load balancers. In my 8 years of experience with the things, I think they're junk. But they'll run forever.

    F5 is good, but over priced. You could check into Radware or Zeus as alternatives.

    If you've spooled up a clustered CF environment, you shouldn't need that old ColdFusion instance all the time. You could set it up so that you start it when you need it (like the JRun admin).

    Finally, it is a snap to have each instance using a different config file. You can start the server on the command line with the -config switch, or create a service with:

    ../jrun4/bin/jrunsvc –install cfusion1 “JRun Cfusion1 Server” – config jvm.config_cfusion1
    Known Participant
    May 21, 2008
    Yeah, I noticed that. It's kind of annoying having the cfusion instance taking up 128MB unnecessarily, but I don't know if I feel ambitious enough to try tweaking it.
    Participating Frequently
    May 21, 2008
    Unfortunately it is difficult to configure a different heap size for each instance. When you change the heap size for one of the instances, it affects ALL instances. This is because this heap size is configured in jvm.config (JRun4\bin) which is shared by all instances.

    If you're willing to jump through a few flaming hoops, you can work around this limitation. This article has some excellent notes on how to approach it:
    http://mkruger.cfwebtools.com/index.cfm/2006/4/17/multiserver
    Known Participant
    May 20, 2008
    After trying a few things, I think I've got it. I created a new site in IIS with a new document root, and then attached the cluster to this site. I'm guessing that updating templates in the new docroot will effectively update both instances in the cluster, so the only time I need to update the instances is if I need to change settings in CF Administrator (e.g. adding datasources).

    So, I've now got 4 instances of jrun: 1 running the cfusion instance, 2 running the clustered instances, and 1 running the admin instance. Can I safely decrease the heap site of the cfusion instance without affecting overall performance?
    Participating Frequently
    May 20, 2008
    It sounds like you need some direction and understanding of how clustering works. These topics may be a good place for you to start:

    http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=1&catid=7&threadid=1329039
    http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=1&catid=143&threadid=1294296

    Best of luck.
    November 12, 2008
    I have been searching the web for books or documents about how to cluster cold fusion 8 (no books to be found). I have found a few documents but am not clear about what is needed beyond cold fusion and windows servers. Other server administrators for IIS I know say I should use NLB. In one document the is a reference to a “cluster device” that I have not found clarification on. Is Microsoft’s NLB needed or desirable? Do we need anything other than Good Code, CF8 and two windows servers?

    P.S. We write all of our web code in Cold Fusion and our Electronic Permitting Software is about to be required for Mining industry in WV to use. We hope to cluster our web site in preparation for this requirement.

    Thank you
    Neil Chakrabarty
    Server Admin & Oracle Database Admin
    www.wvdep.org
    Inspiring
    November 16, 2008
    A good article on the software aspect of it:
    http://www.adobe.com/devnet/coldfusion/articles/clustering_cf8.html

    I'd suggest looking into F5's BigIP Load Balancer or a Cisco one.