Performance comparison for older server

0

Given the falling price of older decommissioned server hardware, I am considering purchasing one to use for my research at home. I will be running Linux, PostgreSQL, Neo4j and R-Server on it. I consider it mainly as my database server, but from time to time I may do some heavy computation on it. The most important point is that I want it to be available with no interruption and let me access the data remotely, keep my operations running overnight, and keep my data safe.

I have had a look at the available hardware and it seems like a 5th generation Proliant, a 3rd gen. PowerEdge, or equivalent can be had for 150-400$, depending on the configuration. That should give me RAID storage + 16 to 32GB RAM + 8 real cores running somewhere between 2.5 to 3GHz: Seems like enough horsepower to me.

The trouble is that I have a hard time comparing the performance of these older beasts with the more modern computers. Most end-consumer benchmarks seem to focus on graphics, gaming, etc... which are irrelevant for a headless server. Given my use cases (that I cited above), what parameters should I look into? The bottom line is that I don't want this server to underperform my current desktop computer (Quad Core i7 2.5GHz + 12GB RAM) in the areas it is used for.

P.S. This is where the idea originally came from: http://xrds.acm.org/blog/2014/09/my-300-home-cloud-server-a-story-of-blood-sweat-and-ebay/

retrography

Posted 2015-02-23T22:14:38.403

Reputation: 316

Question was closed 2015-02-25T00:59:28.717

Can someone explain to me in what way this post is off-topic? My question is about (1) computer hardware, (2) personal and home computer networking and (3) software. These are the three main topics of superuser. The answer I received is also very relevant. It is easy to put a question on hold, but the rules of engagement don't seem to be very clear. – retrography – 2015-02-26T08:37:23.247

Answers

1

Performance is very much depend of the type of work load you want to do. Even for a database server, it very much depends on the query you do. Unfortunately Quad Core i7 doesn't mean very much, as there are several different generations of chips under the i7 branding.

In general, I found the benchmark results on phoronix-test-suite informative in getting the ball park estimate/expectation for the hardware.

Unless the CPU is very slow, and not enough RAM, db performance bottleneck is usually disk bound, especially if you have a large db, and queries are more or less random that invoke lots of seek time on the disk. Hard disks had been the slowest link in a lot of applications for some years now.

RAID will go some way to give you the additional mass storage throughput, but even then, you get a few times the performance over single disk at best, it can make all the difference, but hardly revolutionary. Which is why people went on to solid state storage or RAM disks.

I had a db server essentially ran off a RAM disk, just need a good UPS, and make regular (every minute, incremental) disk backups. It worked well, because I had enough of RAM to keep the entire db. Even without going to the drastic measures of making a RAM disk, the OS caching will give you the bulk of the performance boost if you have sufficient RAM.

The average desktop computing don't demand much memory bandwidth, but for a busy db and some serious number crunching, I found the next performance bottleneck is actually memory bound. The CPUs are so fast, they are just sitting there waiting for the RAM a lot of the times. The idea is you go for more chips, more cores, over higher CPU clock. A dual cpu dual core setup will almost always outperform a quad core single CPU of the generation with the same clock, because each CPU will have its own bank of RAM.

CPU wise, you are looking at up to 5-10% brute force clock-for-clock performance improvement between generations. So, add up the physical cores, multiply by the clock, then adjust for its generation will get you the ball pack performance expectation.

If you intend to recompile the software specific to the hardware however, and the software/compiler can make use of the added features in the newer CPU, then it can be a different matter. For some of the (mathematical) workload I do, my dual Xeon E5-2670 v2 box is three times the clock-for-clock performance over the i7-920 box, yes, that's a total of 14+ times faster overall!

It is perhaps best to do a quick survey/benchmark of your application needs first. Check the disk throughput, CPU load, CPU interrupt, RAM usage/cashing/swap. Then you will have something to look for when deciding on the new system. (In case you didn't know, CPU load will always appear high even when it is waiting for the RAM or disk. A quick, but not fully accurate cheat is to run something entirely CPU intensive, such as SETI@home etc, in the background with the lowest priority. Then you can separate the nice load with the normal load, whatever the nice load is taken up is your normal load waiting for something.)

In general, look for a system with more sockets and plugs, be they CPU sockets, DIMM sockets, or SATA channels etc etc. Doing things in parallel really speed things up with the right setup.

user2539817

Posted 2015-02-23T22:14:38.403

Reputation: 116

A lot of great points. Thanks for the time you took to write this down. One thing that changes across CPU generations is the speed of FSB and with that the speed of RAM modules. Since my data access patterns are very particular, normally the data I access gets entirely cached in the memory. In such a case, and as per your description, the bottleneck will become the bus/memory speed. These older servers run on 667 MHz buses which potentially makes them way slower than the modern machines (they try to compensate with huge L2 caches). The dilemma, then, partially lies there. – retrography – 2015-02-24T15:55:52.663

FSB is ancient history, probably not worth the electricity they are running on. Intel was slow to catch up, AMD ditched them 10 years ago. – user2539817 – 2015-02-25T17:30:29.757

Once I get my hands over one of those dual deca-cores, I will completely agree with you. Meanwhile I will try to make do with what I can get... ;) Good thing: I won't pay for the electricity. Sorry environment! – retrography – 2015-02-25T21:49:47.150