Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 

A SQL Server Hardware Nugget A Day – Day 25

For Day 25 of this series, I want to talk about how you go about picking a CPU for your database server. A couple of days ago, I covered some factors to consider when choosing between a two-socket and a four-socket database server. As you come to a decision about whether you will be using a one-socket, two-socket, four-socket database server, or something larger, that will tend to have a limiting effect on your available processor choices.

Until the recent introduction of the Intel Xeon E7 processor series, Intel had different processor families for different socket count servers. For example the Xeon 3xxx family was for single-socket servers, the Xeon 5xxx family was for two socket servers, and the Xeon 7xxx family was for four socket (or more) servers.

Now, if you want to, you can choose a Xeon E7-2800 series processor for a two socket server, a Xeon E7-4800 series processor for a four socket server, or a Xeon E7-8800 series processor for an eight socket (or more) server.

For an OLTP workload on a two socket server, I would prefer an Intel Xeon X5690 processor over an Intel Xeon E7-2870 processor because of its better single-threaded performance due to its higher clock speed (within the same processor architecture and generation).  For a DSS/DW workload, I would prefer the E7-2870, due to its higher core count and larger L3 cache size.

My philosophy for database server processor selection is to pay the price premium for the absolute best processor available for each socket in your server.  The SQL Server processor license cost is pretty high (even for Standard Edition), so you want to get as much performance and scalability capacity as possible for each processor license that you buy. It is very unlikely that you will ever upgrade to a better processor in an existing database server, so you will be stuck with your choice for the life of the server. If you have “excess” processor capacity, you can consider using it to trade CPU utilization for I/O utilization by using backup compression and data compression (if you have SQL Server 2008 Enterprise Edition).

Unlike a laptop, or web server, I think it is a mistake to buy a processor that is a couple of steps down from the “top-of-the line” for database server usage.


Comments

Posted by Martin Catherall on 26 April 2011

I think this is good advice about considering the CPU over the memory. We have upgraded our memory several times in he last few years - something we would probably not have done in the few years prior to that. But we have never upgraded our CPU's. CPU lifespan = the machine's lifespan - at least in my experience.

Leave a Comment

Please register or log in to leave a comment.