High Availability - Clustering ColdFusion
Published By: Mike Brunt on Mar 31, 2008 at 5:25 PM
Times Viewed: 3105
Categories: None
I have added several blog postings here before on the theories of High-Availability (HA) and Clustering. In this series of blog postings I will be attempting to create dedicated postings for the following scenarios. Please keep in mind that there will be alternative ways to do these things and what I am showing here is drawn from my experiences from either creating clusters for clients or working on existing clusters
Here are the scenarios I will be posting on...
Setting up a two instance cluster from a fresh install of ColdFusion
Load testing a two instance cluster on Java 1.6 (6.0) using the Round Robin algorithm
Load testing a two instance cluster on Java 1.5 (6.0) using the Round Robin algorithm
Load testing a two instance cluster on Java 1.6 (6.0) using the Round Robin algorithm and Sticky Sessions
Load testing a two instance cluster on Java 1.5 (5.0) using the Round Robin algorithm and Sticky Sessions
Load testing a two instance cluster on Java 1.6 (6.0) using the Round Robin algorithm and Sticky Sessions with Session Replication
Load testing a two instance cluster on Java 1.5 (5.0) using the Round Robin algorithm and Sticky Sessions with Session Replication
Load testing a two instance cluster on Java 1.6 (6.0) using the Weighted Round Robin algorithm
Load testing a two instance cluster on Java 1.5 (6.0) using the Weighted Round Robin algorithm
Load testing a two instance cluster on Java 1.6 (6.0) using the Weighted Round Robin algorithm and Sticky Sessions
Load testing a two instance cluster on Java 1.5 (5.0) using the Weighted Round Robin algorithm and Sticky Sessions
Load testing a two instance cluster on Java 1.6 (6.0) using the Weighted Round Robin algorithm and Sticky Sessions with Session Replication
Load testing a two instance cluster on Java 1.5 (5.0) using the Weighted Round Robin algorithm and Sticky Sessions with Session Replication
Load testing a two instance cluster on Java 1.6 (6.0) using the Random Weighted algorithm
Load testing a two instance cluster on Java 1.5 (6.0) using the Random Weighted algorithm
Load testing a two instance cluster on Java 1.6 (6.0) using the Random Weighted algorithm and Sticky Sessions
Load testing a two instance cluster on Java 1.5 (5.0) using the Random Weighted algorithm and Sticky Sessions
Load testing a two instance cluster on Java 1.6 (6.0) using the Random Weighted algorithm and Sticky Sessions with Session Replication
Load testing a two instance cluster on Java 1.5 (5.0) using the Random Weighted algorithm and Sticky Sessions with Session Replication
I will also attempt to do all of these with a single JVM (single jvm.config file) and multiple JVM's (multiple jvm.config files)
I hope to start these detailed postings tomorrow.





Sounds good! Looking forward to it, Mike. Will you be pulling the plug on one of the clustered servers to note how long it takes a current user on that server to recover their session? i.e. request page to establish session, kill server, request 2nd page.
We noticed a quirk when using cflogin in a clustered environment. When a server dies the session data is made available on the remaining server but cflogin roles are NOT available in the session. Our fix was to manually keep a copy of cflogin roles in a separate session var as a backup if the user is thrown to another server.
Posted By: Gary F on Mar 31, 2008
@Gary, yes we will be pulling the plug on instances in all of the tests we run; thanks for the comment by the way. I am intrigued by the cflogin issue, in our test application, which is taken from a fully functioning live application, we do not use the CF authentication mechanism. Let me see if I can do something about that somehow.
Posted By: Mike Brunt on Mar 31, 2008
Mike, with regards to your testing, will you also be touching on using clustering for performance as well as availability?
A big question for me here is whether clustering helps in that regard, or is it just for higher availability?
Cheers,
David
Posted By: David O Malley on Apr 4, 2008
@David, yes I very much will be reporting on performance in fact I will be running various load-tests to determine the results of different configurations - Round Robin etc. Thanks for your comments.
Posted By: Mike Brunt on Apr 4, 2008
I am particularly interested in "Load testing a two instance cluster on Java 1.6 (6.0) using the Round Robin algorithm and Sticky Sessions with Session Replication"
Can I view details on how to set this up in production and testing? (At my job this has not been done in the Adobe- recommended way: hence my noob question)
Posted By: Mark Ireland on Apr 4, 2008
Mike, when you write this up, make sure that you clearly specify whether or not you are talking about clustering multiple instances within the SAME server or across 2 or more PHYSICAL servers. Makes a big difference.
Session replication is certainly more of an issue across physical servers. And it should be a non-issue when clustering instances within the same server.
Posted By: Steve on Apr 9, 2008
@Mark, sorry to be late in responding and we are all "noobs" in many ways, the documentation for these things is very lacking. In addition, a lot of the stuff we do via the GUI can be temperamental and unreliable, that is my experience and I have seen that with many clients. Yes I will be blogging about all these things.
Posted By: Mike Brunt on Apr 9, 2008
@Steve, yes we will make sure we are very precise and detailed in what we write and will definitely be trying clusters and replication across physical servers.
Posted By: Mike Brunt on Apr 9, 2008
"I hope to start these detailed postings tomorrow."
So where are these postings?
Thanks
Posted By: Mark Ireland on Jul 25, 2008
Hey Mark, unfortunately Mike has moved on from Alagad. He's now on his own (I think) and blogging at cfwhisperer.com, where he's taken up some of the topics he started here but not all of them.
That said, readers finding this topic (and these comments) should know that Mike did remain at Alagad some time after this March 08 entry, and did a few more entries, which you can find via the link to his name on the right under "blog authors".
And he may well reply to you here, but since it's been a couple of weeks I thought I'd share this. It doesn't appear he ever really did entries on the testing he discussed here, and though he did one more big-ish article on clustering (http://www.alagad.com/go/blog-entry/ha-clustering-coldfusion-part-1-installing-cf), it appears the series kind of petered out, sadly.
Let's hope he (or someone else) will pick up the ball and run with it. :-) As he notes, there's a paucity of info on the subject.
Posted By: Charlie Arehart on Aug 7, 2008
@Mark, yes that is a fair question and I apologize that this totally petered out. Charlie touched on part of the reason for this, I was in the throes of setting up a lab in a data center in LA when Doug Hughes and I agreed to part company because Alagad refocused on their core business; development and products. I am in conversation with another company to set up a lab and will report further on this.
In the meantime I apologize to everyone for dropping the ball on this.
Posted By: Mike Brunt on Aug 7, 2008