V-server Performance, IO Scheduler and Allocator resource usage and performance.
Hi,
I'm setting up several servers and want to take advantage of V-servers to limit the amount of actual hosts needed. I have a reasonable spec setup but want to setup a lot of servers some of which need a lot of resources.
Host specs:
2.57ghz prescott-256 cpu (intel celeron)
1.5gb of pc3200 RAM
SIL3114 PCI SATA Controller
Sata II Western Digital HDD
I will be using privoxy with squid caching, tinydns caching, postfix and dovecot, dhcp and ntp server and some form of network file sharing (haven't decided what to use yet).
I'll want a minimum of 2 V-Servers and at most 4. I've not had experience with V-servers before so I'm wondering what kind of increase in resource usage I can expect.
My idea to keep RAM/CPU use down so far is to configure the kernel to use 100hz tick rate, no preempt and keep the kernel image tiny and have a headless setup. Will also be using JFS or XFS filesystem to keep cpu usage down more.
I'm considering using the SLOB allocator instead of SLUB to keep memory usage down. The docs say SLOB will suffer from fragmentation which will degrade performance, though some say that fragmentation isn't a big deal on x86.
I'm also considering using the noop IO scheduler instead of deadline to keep the cpu usage down to a bare minimum. Wikipedia and other sources say this should only be used with SSD or sdcards as it doesn't re-order multiple I/O requests to reduce HDD seek times but there are some published benchmarks using noop on sata drives that seem to show it's not that far behind.
Some sources say if the raid/sata controller is smart enough it already handles re-ordering of I/O requests. Is there any way of telling if a sata chip handles that?
I know that I can benchmark all this and find out for sure but would still greatly appreciate any opinions or ideas or on the above or any ideas that I haven't considered yet.
|