-1

We have the specification for supplying web services (to a particular industry interface standard). Two of the usual requirements in this situation is that we have are for the responses per second per server and the maximum allowable latency per response.

However, many things influence what the implementation will actually deliver:

  • Complexity of the interface and protocol (e.g. SOAP vs net.tcp)
  • Technology stack (e.g. Microsoft, LAMP, etc.)
  • Hardware (e.g. 2GB, dual core, 2GHz vs 64GB, 32-core, 3GHz)

The first two I have a reasonable handle on, but I am unsure what parameters I should consider when sizing servers (e.g. small, medium, large).

Are there any standard parameters for server sizes?

3
  • This is a completely unanswerable question, as the answers are trying to point out. Server sizing depends strongly on what you need the server to do.
    – Massimo
    Jul 14, 2011 at 13:00
  • That you found some discussion vaguely relating to your problem useful doesn't mean that your question is answerable, just that you're underinformed as to the scope and nature of your problem.
    – womble
    Jul 16, 2011 at 12:25
  • There's a whole Internet of information I can point to. Can you narrow down which bit you wanted?
    – womble
    Jul 16, 2011 at 22:38

2 Answers 2

2

There are various ways to size servers depending on the workload. However, there are some rough categories from which you can choose servers to be build. Generally, you can mix things and build very different servers.

CPU

  • small: single socket dual-core
  • medium: single socket quad/hexa/octo core
  • large / huge: dual/quad socket systems

Memory

  • small: < 4 GB
  • medium: 8-32 GB
  • large: 32-96 GB
  • huge: > 96 GB

Disks

  • small: 2 disks without fancy HBAs
  • large: Multiple disks in a RAID setup or SAN (e.g. Fiber channel)
  • And the optional inclusion of SSDs.

The exact configuration depends largly on your needs. In certain situations it might make sense to have a small dual-core system with 32 GB RAM in others it would be totally out of place. Maybe you need a high disk throughput, maybe you just need to store a huge dataset without much speed, maybe you need to crunch numbers and decide to use the highest specs CPUs available and even add some GPUs.

It all depends on what you are actually trying to do. So you will never be able to get an actuall answer based on vague ideas. The best advice I can give you is to benchmark your applications and find out what they need, where they perform well and where they dont. With this information at hand you can select server offerings with match your needs. It doesn't work the other way round.

4

There are no "standard server sizes", servers are built based on the customer's needs; most servers are sold in a "barebone" configuration, i.e. you get the server without any CPU/RAM/disk, and you have to add whatever you want in order to get a fully working server.

Any reseller may of course have its "standard" offerings, but if you get offered a machine with 4 cores and 8 GB, there's nothing stopping you from ordering additional cores or memory.

It also doesn't make much sense to say, f.e. "4 cores, 4 GB, 300 GB SAS RAID-1 SAS disks": different workload require very different amounts of processing power, memory or storage. A database server has a very different configuration from a front-end web server, a domain controller, a virtualization host, a web proxy or a mail server. Even with something as clearly defined as "an Exchange server" you will need completely different hardware setups for a Mailbox, CAS or Hub server.

Does it store data? It needs disks.
Does it process data? It needs CPU cores.
Does it handle large amount of data? It needs memory.

But there is no "standard size" or "one size fits all" approach.

1
  • 1
    Not to mention, "4 cores of what" and "what speed are those SAS disks" and "what RAID controller?" all have a massive impact on the server.
    – womble
    Jul 16, 2011 at 22:39

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