Methodology
Choosing a server wisely fundamentally boils down to performing a lot of benchmarking and testing of various worst case scenarios - the classic one being testing of the "slashdot effect" scenario where you must simulate a thousand people suddenly accessing your site simultaneously (and on different pages). This sort of thing is not where VPSs shine - any sensible provider will bottleneck network and CPU throughput such that a massive load thrown onto one VPS doesn't crowd out the other VPSs on the same server, though that said a well routed shared Gigabit interface is usually going to be faster than a single 100Mbit interface in most cases. Only through lots of benchmarking can you produce a scaling graph and therefore gain some idea as to how well your server may behave under even more extreme momentary conditions e.g. 10k simultaneous connections. You could even deliberateily DDoS your own server (don't try this if you're on a VPS!).
We've done ALL of these things and more on several servers. And to be honest, we ourselves were very surprised at what we found: a well tuned 1.2Ghz Celeron D 220 single core processor can EASILY handle 1000 connections per second sustained. In other words, you DON'T NEED that quad core i7 920 for most websites - though if you have the money available, it's the safest choice.
Processors
The Intel Atom
In fact, in most cases, you don't need much of a CPU at all - RAM speed and size and L2 cache speed and size tends to be FAR more important than raw number crunching ability for most server applications. Remember that firstly processor power is constantly rising, so a single core 1.6Ghz Intel Atom today has about the number crunching power of a 2.4Ghz Intel Pentium 4 which just a few years ago (2003-2004) was considered around the top of the range, and that's the worst that the Atom can do because (a) the Atom has a far faster memory interface (b) the Atom has SSE (c) the Atom is far, far better at taking execution branches which used to stall the Pentium 4.
In fact, where memory bandwidth is the primary bottleneck such as MPEG4 video encoding and one can make use of SSE, the Atom is surprisingly swift. I use my netbook to transcode MPEG2 into MPEG4 and it's not that much slower than my Core2 Quad desktop because both are primarily memory bandwidth bound. On the other hand, h.264 encoding is truly awful - it takes more than a day on the netbook simply because the Atom isn't good at lots of math.
A lot of people will rubbish the Intel Atom as a server processor - ignore them. A server isn't a gaming computer: its primary role is to copy data between a data store and the network interface. If you are happy with a 100Mbit network connection, the chances are that an Intel Atom 330 (the dual core model) is more than sufficient because all it mostly does is copy memory around. One then makes use of reverse caching (varnish) and load balancing software (haproxy) to smooth out the spikes in CPU demand such that your end users will never know the difference even if they see a stale page from time to time.
The Intel Atom 330 is literally two 220's glued together but sharing the same slow 533 Mhz FSB. You do now have two L2 caches however though they are totally independent. This definitely benefits scalability, but doesn't help memory bound performance problems.
The VIA Nano
This same anti-number crunching argument goes for the VIA Nano though it's even better again as it isn't castrated by an artificial disabling of dual channel memory, it has a 800Mhz FSB plus twice the L2 cache of the Atom i.e. it can copy up to 12.8Gb/sec from RAM and it has 1Mb of L2 cache running at up to 1.8Ghz, whereas the Atom 220 can only copy at most 8.4Gb/sec and has just 512Kb of L2 cache running at 1.6Ghz. When the Nano starts appearing in dedicated servers they should be excellent - especially with HTTPS sessions as they have hardware encryption support.
The Intel Celeron 220D
You will see a lot of this 1.2Ghz processor still around due to its cheapness thanks to being yesterday's technology (remember, the Atom is still pricey right now) - it's a Core1 microarchitecture so it isn't as good for the clock speed as a Core2, it also only has a 533Mhz FSB and just 512Kb of L2 cache just like the Intel Atom 220. Nevertheless at raw number crunching it's easily 50% more powerful than an Intel Atom 220 - however its slower L2 cache easily hides this. If you can, choose any newer processor other than this one - though if you're facing a Pentium IV or other even more legacy hardware, then the 220D will likely be faster even at a third of the Pentium IV's clock speed. Remember this: high clock speed Netburst processors will likely be slower than a more recent processor running at third the clock speed, plus they have less memory bandwidth.
The Intel Celeron E1200 or AMD Athlon 64 X2
We are beginning to see this heavily castrated Core2 Duo processor appear in the low end dedicated server market - and we welcome it with reservations. Despite its 1.6Ghz clock speed, the E1200 is a good 50% better at number crunching than an Atom 330 plus it has a 800Mhz FSB and dual channel memory support which makes it much better for server applications. Unfortunately it has just 512Kb of L2 cache shared between the processor cores which in some use cases might actually make it slower than an Intel Atom 330. However its much faster FSB will make up for that, though I daresay that the VIA Nano will handily beat the E1200 in server applications with its faster and twice as big L2 cache despite having only a third of the number crunching power of the E1200.
To give you some idea of how castrated the E1200 is by its tiny cache, the previous generation AMD Athlon 64 X2 is about equivalent if it's running around around 33% faster by clock speed. All this said, both the E1200 and the Athlon 64 X2 are excellent low end dedicated server processors and you should jump at them if available.
The Intel Pentium E2180
We have one entry using this processor - despite the implications of the "Pentium" name, this is also a Core2 Duo processor which is better in every area the E1200 lacks. In fact it basically is the E1200 except for having 1Mb of shared L2 cache instead and running at 2.0Ghz which ensures that it easily demolishes every other processor in the database. Seeing as it's cheap to buy and very cheap to run (low power usage), we are hoping to see many more of this E2xxx family of processor.
Conclusion
We rate low end dedicated servers primarily on their memory infrastructure rather than their number crunching power simply because a server with plenty of low latency fast memory will run rings around a powerful number cruncher in most server applications. Data servers are not gaming machines, and unless you're doing something unusual then data latency will depend much more on the speed of accessing memory and disc caches than computing power.
Network
One of the primary ways in which low end dedicated hosting providers cut costs is in their network provision. Network connectivity comes in three forms: transit (where you rent access), leasing (where you rent capacity) and peering (where you agree to exchange data without exchanging money). Transit is usually the most expensive because it roughly costs whatever data is moved; leasing is a fixed overhead fairly independent of the data moved over the link and peering is the cheapest because it's basically a quid pro quo relationship. Needless to say, the more servers and the more data you move around then the greater the scope for very substantial cost savings: peering costs can be a tenth or a twentieth the cost of transit.
The really big low cost dedi providers like OVH and 1&1 Internet have a good 60k servers each and they perform a very significant amount of traffic indeed - indeed, they are so big that even just their internal traffic is breathtakingly large. They are also mostly European based for good reason: Europe has a high density of population and so has the cheapest internal network bandwidth, hence even though electricity costs and VAT taxes make costs much higher, you still see a big emphasis on Europe for low cost servers. For that exact same reason, most of the world's bittorrents and other big bandwidth users are based in Europe.
If you're based in Europe and most of your server users are European then none of this matters - you'll have excellent connectivity as all the European networks peer. If however you or your users are rather further away, then it matters a lot. Using this very useful site and this special section for China one can perform ping tests from Seattle in the US, Munich in Germany, Brisbane in Australia and Shanghai in China:
| Seattle, US | Munich, Germany | Brisbane, Australia | Shanghai, China | Average | |
|---|---|---|---|---|---|
| OVH (Paris, France) | 153ms | 15.4ms | 328ms | 333ms | 207ms |
| Interserver (New York, US) | 83.5ms | 101ms | 252ms | 318ms | 189ms |
| VSNL (Bombay, India) | 282ms | 159ms | 359ms | 326ms | 282ms |
| Hong Kong, China | 268ms | 372ms | 374ms | 48.3ms | 266ms |
In case you are wondering, VSNL are India's largest web hosting provider and are part of the Tata conglomerate. I couldn't find out who are China's biggest provider so I went for china.org.cn which is a big government website surely hosted by some big provider in Hong Kong (according to its traceroute).
The results are fairly clear: Interserver based in New York have by far the best global connectivity. This is unsurprising: firstly Interserver are well known for their excellent connectivity, and secondly New York has always been and still remains the primary hub for global telecommunications though its overall importance has definitely been sliding since the 1980s. Watching the traceroutes is fascinating: traffic between China and Australia which are practically next door invariably routes through the US simply because of the peering arrangements which have been set up: if you're lucky, it bounces off the US Western seaboard, if you're unlucky it goes from Australia to Europe, then East Coast USA, then West Coast and then China.
Another interesting thing is that the US internal network is not a happy bunny - ping times between opposite regions of the US tend to be double or more than traversing China or Europe. Traceroute reveals that US traffic goes through lots of little jumps rather than giant fibre optic leaps. And China has obviously been investing heavily into its external connectivity: it has direct connections straight into Europe and the Eastern and Western US coasts. The laggard of the lot is India which has quarter second plus ping times to anywhere other than Europe.
We don't rate network connectivity here on lowenddedi.net unless everything else about the server is excellent mainly because it's very time consuming. However you should definitely take account of it yourself when choosing a provider.
Conclusion
In most cases you need an absolute minimum of 1Gb of RAM - and preferably 2Gb of RAM - which lets your reverse proxy cache run smoothly and lets the operating system make full use of its disc caching capabilities (which of course you can help along by using tmpfs where appropriate). So first and foremost, one usually wants to choose RAM capacity before all else to get that smooth, predictable behaviour.
Secondly look for L2 cache size and L2 cache clock speed (usually related to the CPU clock speed), and thirdly consider the disc or storage speed because that's usually the biggest bottleneck for any computer. Now consider connectivity from a global perspective. Only after all of that might you consider CPU number crunching power.
Because of these performance dynamics, low end dedicated servers are often better than high end VPSs precisely because CPU speed is so relatively unimportant for web application deployments: a 2Gb RAM 1.2Ghz Celeron D 220 may well be faster and smoother than a 1Gb OpenVZ VPS even with its quad core 2.4Ghz Xeon processor. And hence why we erected this site, because finding these low cost dedicated servers is hard because it's like finding needles in a haystack.
If you know of a dedicated server deal which fits our criteria, please do submit an entry. And thanks for visiting!