The Xeon goes real-world

So far the benchmarks we have shown you have been quite impressive however still very workstation oriented.  One of the biggest selling points of the Xeon family has been that it does make for some killer servers.  In the past, its large L2 cache (up to 2MB) has made it ideal for database servers but now with a new architecture behind it (NetBurst) could make it even more attractive.

On the desktop side, Intel's NetBurst architecture has been relatively unimpressive.  Part of the reason for this lack of enthusiasm has been that where the architecture excels in today on the desktop are in niche applications such as video encoding.  The problem with this is that there are relatively few bandwidth intensive applications on the desktop side of things, making the Pentium 4 and Xeon unattractive until they ramp up in clock speed even more. 

On the server side, applications are already extremely bandwidth intensive.  On your desktop there is never a program that requires multiple computers in order to run properly, yet in the server world this is a very common practice; it's called clustering.  In fact we employ quite a bit of that here at AnandTech

In order to measure the server performance of the Intel Xeon processor we threw it into a situation that we could actually gain some use out of.  Instead of running a slew of synthetic benchmarks here to simulate server performance, we actually threw it in the same position as one of the servers that make up our server farm here at AnandTech

The AnandTech Forums have increased in popularity tremendously over the years.  Today, it is home to close to 56,000 registered users, 600 of which are usually logged on at any given time.  There are thousands of guests browsing the forums as well who aren't accounted for in those statistics.  The Forums run FuseTalk, a database driven discussion package developed by our own Jason Clark and sold through his company e-Zone Media.

Whenever a message is posted to the AnandTech Forums, FuseTalk intercepts the message and writes it to a database.  Whenever a message or a thread (collection of messages) is read, it is pulled from that database and outputted through Cold Fusion dynamically.  There are no static HTML files that make up the forums; everything is served dynamically.  This does have its pros and cons; the biggest pro being that the system is quite robust, easy to search through and quite easy to keep running.  The biggest downside to this entirely dynamic, database driven Forums is that it puts an incredible amount of load on the database server that is actually serving out all the content.

The AnandTech Forums database is currently almost 3GB in size.  It contains 3.1 million publicly viewable messages organized into 357,000 threads.  Between its 56,000 users there exist a total almost 1.3 million private messages; all of which are stored in the AnandTech Forums database.

The database server itself is a dual processor Intel Pentium III 800 system with 1.5GB of PC133 SDRAM, however the processors aren't its strong point.  With a database server it is very easily to become bottlenecked by your I/O, meaning that your CPU and the rest of your system is waiting for data to be read off of your hard disk(s) before it can output anything.  In order to combat this, our database server features a four drive RAID 10 array of Quantum Atlas 10K II hard drives (10,000RPM, 8MB buffers). 

What does this have to do with the Intel Xeon processor and how it performs in a server scenario?  In order to truly test it and provide us with useful data as to how we would like to upgrade our Forums database server, we recorded a "trace" or a snapshot of every transaction handled by the AnandTech Forums Database Server over a period of 30 minutes.  This includes reads and writes to the AnandTech Forums database; basically everything that was posted, replied to, edited, sent or received within that 30 minute time period.

This snapshot was then played back on the test systems at the fastest the system could possibly play the trace.  If you've followed our benchmarks in the past, you will know that this is much like a "timedemo" under Quake III Arena.  The only difference between this trace playback and a Quake III Arena demo is that instead of performance being reported in frames per second, it is reported in time to complete.  If the trace took 30 minutes to record, it should take much less than that to complete since there is no waiting for users to input data as it is running as fast as it possibly could.

In order to minimize the I/O bottlenecks the test systems were not only outfitted with four Quantum Atlas 10K hard drives in RAID 0 (offering more write but similar read bandwidth than our Forums DB server's 4 drive RAID 10 array) but they were also given1GB of memory.

During the 30 minute recording there were: 105267 selects, 4984 updates, 701 inserts and 5 deletes performed on the database.  The names of the tasks describe exactly what they are; selects are reads, updates are reads and writes, inserts are writes and deletes remove data from the database (and are quite rare). 

The first thing to notice is that the test is extremely read intensive, meaning that the I/O bottlenecks aren't as great as if the test was more write intensive.  You can always read faster than you can write so this should mean that the test will be more dependent on a fast platform, provided that it isn't I/O bottlenecked from the start. 

If your particular database application is more write intensive the performance results should be similar in terms of the standings of the processors, but the performance gap will be decreased provided that the I/O doesn't change. 

The nature of the AnandTech Forums database is that there are very few computational intensive functions performed on the database; most of the functions are straight reads and writes.  This places the performance dependency on having a fast platform, not necessarily CPUs with powerful integer/floating point units.  If you've read this far then you know that the Xeon has arguably the most robust platform of anything in its class, meaning that it should perform quite well here. 

Now the moment you've been waiting for, does it?  In desktop applications the Pentium 4 at 1.7GHz is sometimes unable to hold much of a lead over the Pentium III it replaced.  Can the NetBurst Architecture of the Xeon prove to be useful in the world of database servers?

Linux Performance Database Server Performance & Final Words

Log in

Don't have an account? Sign up now