-4

Pricing at Dell, it seems I can either get a single R430 or 3x R220's. The R220's would have 4C/8T processors, giving 24 threads. The R430 would have 2x 6C/12T processors giving again 24 threads.

For an CentOS 6 apache web server doing mostly dynamic content with Php (so some backend php calculation required), what would be the better choice given that the cost are the same.

Can do either bare metal install or virtualization (openstack). Obviously, the single R430 would take up less rack space, be easier to manage, and consume less power. But the assuming equal load, the Linux kernel on the R430 would likely have to handle 3x as many processes compared to 3x R220s.

By the way, this is not a duplicate question, as the answer requires an understanding of how the Linux kernel and scheduler scales with number of processes.

1
  • 1
    I think your question is not covered by the suggested duplicate, but I suspect it might be too broad to be answerable. This depends a lot on your workload. A poorly written PHP app can use far more CPU and memory than it should. But a well-behaved PHP app might not use enough CPU, such that you will run out of other resources first, regardless of which setup you choose. The real architectural difference between these two servers is NUMA, which you should go read about and understand. Nov 15, 2015 at 22:12

2 Answers 2

1

As about linux's kernel scheduler, dont worry, linux from the 2.6 stable kernel series employs a O1 scheduler: https://en.wikipedia.org/wiki/O%281%29_scheduler

In short this means that you wont even notice the performance hit from kernels scheduler before an unwieldly number of proccesses, you'll start swapping first (PHP is a bit memory hungry).

This times you get the most from your CPU's by avoiding cache misses, so check the cache size for core, but as you're deploying a web application, i dont think this matters much as it's totally out of your controll and you'll hit other performance limits earlier as for example, algorithms employed by your app, eventual database, memory limits and so on.

0

If you have a load balancer, the multiple server approach will be faster -- multiple NICs attached to a (presumably) larger uplink.

If you don't have a load balancer, then the single-server approach will be faster... because you have no way to direct some traffic to the other two servers in the multi-server scenario.

Not the answer you're looking for? Browse other questions tagged .