Let’s assume that you are trying to decide between two different servers:
- Server 1: 8 cores / 16 threads at 2.1GHz
- Server 2: 4 cores / 8 threads at 3.8GHz
Considering Your Options
Choosing a server will depend on your workload. If you know you will be running lots of simultaneous connections and that each individual connection does not have a low latency requirement, then the first server would work best because it can handle more parallel processing. On the other hand, if you have fewer concurrent connections and each connection must complete quickly, then the second server is better.
We tend to prefer higher clock speed to higher core count because operations complete faster. For example, PHP pages will load almost 2x faster if the processors are not saturated. If they do saturate to somewhere between 150% to 180% of load, then it will run at about the same speed as server 1 based on the clock speeds and a 10% guess on context switch overhead.
We always try to build with redundancy in mind for long-term stability, so these are some considerations when thinking about your deployment:
- You might get two identical servers. We could then configure them to be redundant so that either server can take over if one fails.
- You could get your own routable network block so you can have a DMZ separate from your provider’s shared public network. This will reduce your clients’ security exposure to man-in-the-middle attacks.
- If you get a routable network, then firewalls can be configured as separate virtual instances on the server(s) that will automatically recover if one of them has a problem.
Choosing the right hardware is important whether you are moving an existing server or deploying a new one, so please let us know if we can help you with your server planning.