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

Reply via email to