High Availability - Clustering ColdFusion
Published By: Mike Brunt on Mar 31, 2008 at 5:25 PM
Times Viewed: 2466
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