1

We are buying a new server and the idea of dual socket motherboard comes up. Is 2 socket motherboard worth the price and hassle for an application that hosts a couple of websites and databases for a 100+ employee company? Site is Intra only with no www access.

I am more inclined towards a single CPU motherboard (less cost, low power consumption, easy configuration). As a side question, is a two dual-core CPU "much" better than a single quadcore CPU. The emphasis is on much.

-- Edit: My question is different from the suggested duplicate as I have focused it on single CPU vs two CPU for an Application or Server. This can be a typical scenario for newbie into the world of Servers and would benefit many!

Savage Garden
  • 411
  • 1
  • 5
  • 11
  • Sorry, I flagged this question as primarily opinion based, and it is thus not really suitable for SU. I'll try answer it though. – davidgo Jul 04 '15 at 21:13

4 Answers4

5

The value of a second CPU depends entirely on your load. In the case of a typical small business web server, a dual CPU system will likely not give you any performance increase. For a database - well, it really depends on the database and your query types and load. A typical website won't make much use of the CPU.

Think of a DUAL CPU server as a server with a CPU with double the number of cores. If you are running lots of threads and your server is CPU constrained this will help performance. If both of these conditions are not yet it won't make any difference.

Technically a DUAL CPU is fractionally under twice as fast a single CPU - however this makes the huge assumption that the system is CPU bound and the programs running on it are threaded and can work in parallel.

Without knowing the details of your application, as a rule of thumb, you would be better off using faster disk (SSD) and more memory than using a dual CPU. (If, on the other hand you were deploying a VM server with quite a few hosts - in a data center where space is at a premium, then a dual socket CPU could make a large difference)

davidgo
  • 5,964
  • 2
  • 21
  • 38
  • 1
    The magic tag is `iis`. So this will not work for motherboards with even128 sockets. – ott-- Jul 04 '15 at 21:41
  • 1
    @ott-- What exactly will not work for motherboards with even 64 sockets (the max Windows supports)? – ErikE Jul 04 '15 at 22:51
  • 1
    I woudl add that for most databases the processor is as irrelevant as it gets and memory and primarily disc IO budget is the limiting factor. – TomTom Jul 05 '15 at 12:14
1

Here's what (someone at) Intel thought in 2009, with some caveats:

"When contemplating the use of one socket with four cores versus two sockets populated with two cores each, resulting in an equal number of processor cores, the expected results aren’t so obvious.

Generally, dual-socket configuration with dual-core CPUs in each socket yields higher performance than the four-core, single-socket configuration but the dual-socket configuration also increases system cost and power consumption.

[...] From the observed performance differences, it’s clear that some of these SPEC CPU2006 benchmark sub-test programs are compute-bound and therefore do not benefit from a second FSB. Other sub-test programs are constrained by memory bandwidth and therefore do benefit from the additional FSB."

FSB = Front-side bus (one FSB per socket)

Architecture has changed quite a bit since then though (QuickPath Interconnect with Intel for instance). But with regards to your specific question about CPU, the takeaway should be to benchmark the actual application(s) you are running on web and db server, looking particularly keenly at application threading, cpu and memory usage (or other cpu bound bus usage). Then cramming up on the architecture(s) you contemplate using.

ErikE
  • 4,676
  • 1
  • 19
  • 25
0

As far as I understand the first part of the question is about opting for an empty socket. This is a matter of cost and projected increase in demand. Most modern CPUs are overkill for a file server and can take database load quite well. Since we know very little about the actual load on those databases (is it going to be a SQL query form a single user once per second? Per minute? Per hour?) it is hard to say. The bottleneck in case of modern servers is the storage speed, not CPU. But if it only costs like 50 bucks to have the additional socket, I'd go for it.

Konrad Gajewski
  • 1,498
  • 3
  • 15
  • 29
0

It comes down to density (how many servers do you need in a certain amount of space) and redundancy. You might want two separate servers if you can live with some of your servers going down instead of having all your eggs in one basket.

In a virtualization environment, it might be useful to start with only a single CPU socket filled in a server, then down the road as capacity needs increase simply fill the other socket with a second CPU and increase the memory in the server.

Bert
  • 2,733
  • 11
  • 12