[Looking for Charlie's main web site?]

Resources for getting into the Multiserver (multiple instance) implementation of CF

You may have heard of the new Multiserver deployment option that was introduced in CFMX 6.1, also known as "multiple instances". It can bring tremendous performance and reliability improvements, allowing you to segregate apps on a single server either by function, or reliability, and so on. It can also help you manage memory more effectively.

Since many people may only be considering the feature now (either only now moving to 6.1 or 7, or 8), I want to share some resources if you're new to it. (The question came up on a list, and I offered the info there, so thought I'd pass it along here.)

First, there are a couple of articles from that time 6.1 frame:

"Introducing Multiple Server Instances in ColdFusion MX 6.1", by Tim Buntel

"Using Multiple Instances with ColdFusion MX Enterprise 6.1" video (sadly, seems no longer available)

Now, CF7 did introduce the new Instance Manager within the Admin, and that (and instances in general) is covered in the CF manual:

Configuring and Administering ColdFusion MX (Chapter 7, "Using Multiple Server Instances")

Finally, there is also a new Adobe article as of CF7:

Multiple Server Instances using ColdFusion MX 7 Enterprise Edition

(Update: There's also now a CF8 version of that: Multiple server instances using Adobe® ColdFusion® 8 Enterprise Edition. The technical content seems identical, but it appears to have had considerable editorial updating.)

There are certainly other articles folks have done in the CFDJ or at CommunityMX.com, but these should get you started.

Even though it's old news to some, it does seem that like many things, use of instances is something that may have been missed by folks. I've been contemplating a new user group presentation on the topic. Nothing new for CF8, but it seems people are considering things now that they may have ignored when 6, 6.1, or 7 came out (which is why I did my daylong class at CFUnited on what was new in 6 and 7 that folks may have missed).

One last point, if those don't make it: if you're running on Windows, don't try to create an instance with a JVM heap greater than about 1.3 GB. Though Windows should allow 2GB per app, this is just a number many found that beyond which CF won't start. Hope that all helps.

Also look at this: http://www.richinter...
# Posted By Sven Ramuschkat | 7/6/07 4:57 AM
Charlie, nice article, this is still a complex subject for many and I understand why this might be. I recently completed a Distributed Multi-Instance install using replicated session variables. Took me a little time to get there but I did.
# Posted By Mike Brunt | 7/6/07 7:41 AM
Charlie -- Thanks for posting...we are looking at implementing multi-instance CF in the next couple of months so your timing is great!
# Posted By Sam Farmer | 7/6/07 8:50 AM
Thanks for these - quick point re: memory allocation - if you're running on Windows you might want to consider dropping the JVM memory allocation to much lower than you'd assume. See below.


We've had good results running instances on JVMs with as 'low' as 512Mb allocated memory.
# Posted By Ed | 7/6/07 9:26 AM
Thanks everyone for the comments and other resources.

@Mike, your point about session replication is a good one. That's something that many are not aware of or struggle over. Again, there are resources discussing this for those willing to dig in. Or just hire Mike or other consultants out there like Universal Mind, Webapper, Fig Leaf, myself, and so on--why struggle for days when you can pay someone to just solve the problem for you in hours? :-)

@Ed, I just want to ask did you note that I made the same point about concern over too much memory on Windows? Since the article points out problems they had at 1.5GB, I want to reiterate that I pointed out 1.3 seems to be a magic number that many use. Of course, JVM memory management and configuration is a bit of a black art (more just something that takes time to learn to do well). And you certainly shouldn't use more than you need. If your setup is working well in as little as 512MB, more power to you, and certainly something folks should keep in mind.

Of course, so many things affect how well an app will run at such a setting. The best determination will come from lots of trial and error (or use of good monitoring, whether from JRun logs or JVM monitors or tools like SeeFusion and FusionReactor, or the new CF8 monitor.)
# Posted By Charlie Arehart | 7/6/07 1:54 PM
And some more articles by me on the subject

<a href="http://russ.michaels...">http://russ.michaels...</a>

<a href="http://russ.michaels...">http://russ.michaels...</a>
# Posted By Russ Michaels | 7/8/07 9:32 AM
Thanks for sharing those, Russ.
# Posted By Charlie Arehart | 7/8/07 4:21 PM
Thanks for posting...we are looking at implementing multi-instance CF in the next couple of months so your timing is great!
# Posted By ??? | 1/14/08 6:26 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.005. (Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting