Nathan Strutz wrote: > Contrary to some of the other opinions in this thread, I think that getting > windows in multiple VMs is a better way to go than getting CF on multiple > JVMs, and I have a fair amount of experience to back that up.
Depends on the purpose. Let me counter by complementing your example with what it actually means for for instance PDF generation. > First off, licensing - windows 2003 web edition costs around $500 last I > checked, though I don't track the virtualization pricing schemes. ColdFusion > Standard edition is about $1300 and ColdFusion Enterprise weighs in at > $6000. CF is always licensed to physical CPU pairs (dual cores count as 1 > CPU). > > To go the CF Enterprise way, If you have 4 servers, 2 processors each, > you'll buy 4 Windows licenses, and 4 CF enterprise licenses. - cost: > $26,000. And you can run PDF generation in unlimited threads on them. I would not recommend more then 4 threads per core, so with 8 CPUs / 16 cores this amounts to 64 threads. > To go the virtualized server way, say you want to run 2 windows servers per > box - only 4 servers so 4 CF Standard licenses, but 8 windows licenses, > total cost: $9,200. Then there's the cost of the VM software, which I don't > know about, I've heard you can do it for free. With 4 CF Standard license you get 4 threads to generate PDFs. So for three times the cost you get 16 times the performance. I think CF Enterprise is a pretty good deal :) > If you are clustering the JRun servers, there is a lot of confusion over > exactly what that does - a request onto one web server could be serviced by > either JRun server. One JRun server sets itself up to be primary, and if > taken offline, the cluster then fails and requests are serviced by no one. That is not my experience. The worst case scenario I have seen is that under some failure scenario's (which are all failure scenario's outside of JRun so that would also affect other solutions) failover takes 2 MSL (and that should be configurable). > Session sharing is especially painful, especially if you carry a fair amout > of data and have tens of thousands of users, no gigabit network can carry > that much bandwidth, add another server and the bandwidth requirements > increase exponentially. Make sure the servers can use multicast and the bandwidth requirements don't increase. > If you have a network load balancer that sends requests to different web > servers and keeps users stuck to a particular server (except on failovers), > you should have those servers servicing their own requests. If you need to > tack data to a user, you can save it in session but don't replicate it - put > an ID in a cookie and tie it to a database record, that way, it's in quick > session memory, and if the server crashes, you can bring it back out on > demand. Replace "ID in a cookie" with "HTTP authentication" and you have my preferred setup :) > Now back to stability, if one JVM crashes on one server, there's a > better-than-you-think chance of it hurting the whole server. More often than > not, I've had to reboot an entire server because one CF instance had > problems. If independent processes affect eachother there is a problem with the OS. Jochem ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Create robust enterprise, web RIAs. Upgrade & integrate Adobe Coldfusion MX7 with Flex 2 http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:281076 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4