1 of 1 people found this helpful
We have another customer running the following config to manage ~6,000 servers:
3x 2vCPU 8GB -> appserver. Rhel 4 i386
1 Config/NSH, 2 Job per system.
That seems to perform reasonably well and is pretty easy to scale. The installers should work now for a multi-instance/appserver setup. You could put a VIP infront of the Config/nsh if you want some failover.
That sounds good as far as scaling in that for now I want to manage fewer than 2000 servers and I don't want to add another VM to the mix. I just want to scale up my current combined config/job server to separate config / job / nsh proxy servers while keeping with the one VM.
Should I just add two job servers and disable the job server function on the default instance? Or should I add two job servers and a config/nsh proxy server and delete the original instance?
Bump up the specs on your VM to the 2cpu/8gb if they're not there. I don't think it matters which of those reconfigs you do.
1 of 1 people found this helpful
I know the customer Bill is referring to, so let me add a little correction. We do have issues with that config. The last feedback I got back from engineering is that you shouldn't have anything more than a 1:1 ratio of instances to processors. This is consistent with the issues we have at this customer. We had to choke the WIT's way down in order to keep the proc from pegging and the OS from killing processes to save itself.
Also per engineering, if you are running on a 64bit OS, use 6 GB JVM's. You also need to keep in mind that by default, the appserver launcher will be configured to use the same max heap as the rest of your JVM's. Also, be sure to leave enough memory for misc JNI calls and NSH shell spawns. So, that really means for 32-bit system with 3 JVM 2GB instances, you need 6(3X2GB)2GB(OS)2GB(Appserver deployment launcher)+2GB(NSH/JNI)=12GB. Now, will the appserver launcher use 2GB? I hope not, but you have to remember you have that lease out there. But still, you are looking at a 10GB quad-core system to meet current guidlines with this config.
I hope this helps.
Can we give the box 12gb, use a single 6gb heap as an 'ALL' server type, and then add more VMs of that? I think I've read issues w/ scaling a VM to have more than 8 or 16 gb of memory. w/ the 6GB heap we should be able to handle more WIT than the 1-2GB 32 bit heap right?
You should be able to, but you just have to watch the CPU util.
OK. Again, considering I'm going to stick to one VM for the time being and I want to best utilize its resources, is there an advantage to A or B below? Is there a C?
I know there are a million other things to consider that I'm not providing. For the sake of argument, let's say we're talking many hundreds of servers (not many thousands), nightly audits against fairly limited templates (fewer than 100 compliance rules per server), with the more complex templates (on the scale of NIST/PCI/etc) being run weekly or monthly, maybe on a rotating basis.
Single ESX 3.5 guest - RHEL 5 x64 - 4CPUs, 12GB RAM
config A: 1 app server of type "ALL" w/ 6GB heap
config B: 1 config/nsh proxy server, 2 job servers, w/ 2GB heap each
Though a 64bit OS can handle larve JVM heap sizes, based on my experience and given your hardware/VM configuration, I would go with Option B. You will get better performance with this configuration as opposed to Option A.
I'd go w/ option A. easier to manage...