Linux Database Server CPU Comparison
by Johan De Gelas on June 17, 2005 12:05 AM EST- Posted in
- IT Computing
Benchmarks IBM DB2 8.2: Intel versus AMD
Below, you will find our results for the different platforms of AMD and Intel. At the last moment, the Pentium 4 670 3.8 Ghz arrived in the labs, so we decided to give this CPU a quick test run. In these tests, we enabled the new Asynchronous I/O feature, which gave the Intel Xeon a small performance boost (4 to7%), while it made the Opteron perform only a tiny bit faster (1%).Concurrency | Dual Xeon Irwindale |
Single Xeon Irwindale |
Dual Xeon Nocona | Single Xeon Nocona | Dual Opteron | Dual Opteron | Single Opteron | Dual Opteron | Intel Pentium D Dual Core | Intel Pentium 4 |
3.6 GHz | 3.6 GHz | 3.6 GHz | 3.6 GHz | 2.2 GHz | 2.4 GHz | 2.4 GHz | 2.6 GHz | 3.2 GHz | 3.8 GHz | |
1 | 94 | 90 | 101 | 95 | 97 | 116 | 119 | 124 | 89 | 99 |
2 | 172 | 109 | 164 | 107 | 202 | 219 | 151 | 233 | 141 | 118 |
5 | 207 | 114 | 215 | 110 | 262 | 287 | 156 | 308 | 199 | 123 |
10 | 228 | 115 | 223 | 117 | 268 | 294 | 156 | 320 | 201 | 126 |
20 | 225 | 118 | 207 | 112 | 264 | 306 | 153 | 328 | 202 | 124 |
35 | 232 | 116 | 215 | 116 | 275 | 284 | 153 | 308 | 174 | 120 |
50 | 230 | 114 | 214 | 113 | 275 | 281 | 150 | 307 | 203 | 127 |
AVG | 225 | 115 | 215 | 114 | 269 | 291 | 153 | 314 | 196 | 124 |
All averages are calculated on the concurrency levels from 5 to 50. There is no doubt about it: it pays off big time to invest in a multi-CPU machine in DB2. It is of no use to invest in the fastest single CPU system. A mid-range dual CPU system will easily outperform it.
The table below is an overview of the differences in the CPUs.
Concurrency | Dual versus Single Xeon Irwindale | Dual versus Single Xeon Nocona | Dual Opteron 250 vs Single | Dual Opteron 2,6 GHz versus Irwindale 3,6 GHz | Xeon Irwindale versus Nocona |
1 | 5% | 6% | -3% | 32% | -7% |
2 | 57% | 53% | 45% | 36% | 4% |
5 | 82% | 96% | 84% | 49% | -4% |
10 | 99% | 91% | 89% | 40% | 2% |
20 | 92% | 84% | 100% | 46% | 9% |
35 | 99% | 86% | 86% | 33% | 8% |
50 | 102% | 89% | 88% | 33% | 7% |
AVG | 95% | 89% | 89% | 40% | 5% |
The performance of DB2 scales almost perfectly on the different platforms. Irwindale scales a little better than two other CPUs, probably thanks to the larger L2-cache. However, this does not save Intel from defeat: the Opteron 2.6 GHz is the champion in these tests. What happened? In our previous test, the fastest Xeon (Nocona 3.6 GHz) was a bit faster than the best Opteron (250, 2.4 GHz). First of all, the Opteron 252 scales very well, and is 8% faster than its older 2.4 GHz brother, as the 252 is clocked at 8.3% higher. But the Xeon Irwindale gets a 5% - 7% performance from its larger L2-cache, so that is not the real issue.
However, when we compared a 64 bit with a 32 DB2 instance, the Opteron gained 13% performance from moving to 64 bit, while the Xeon lost 3 to 4%! Secondly, with the 2.4 kernel, the Xeon gained an additional boost from Hyperthreading, while we could not measure this performance increase anymore. Thirdly, it seems that the Opteron gains more due to the move from the 2.4 kernel to 2.6 kernel than the Xeon.
Benchmarks IBM DB2: Single core versus Dual core
What about our Dual core Opteron 875/275? We managed to get DB2 running on Gentoo, kernel 2.6.12rc5. You can find the results below. All tests have been performed on the MSI K8Master-FAR2.Concurrency | Dual Dual Core AMD | Single Dual Core AMD | Dual Opteron | Quadcore vs Dual | Dualcore versus Dual Single |
2.2 GHz | 2.2 GHz | 2.2 GHz | |||
1 | 107 | 118 | 111 | -9% | 6% |
2 | 194 | 213 | 162 | -9% | 32% |
5 | 368 | 242 | 222 | 52% | 9% |
10 | 423 | 256 | 227 | 66% | 13% |
20 | 448 | 253 | 216 | 77% | 17% |
35 | 434 | 246 | 213 | 76% | 16% |
50 | 429 | 251 | 218 | 71% | 15% |
AVG | 421 | 250 | 219 | 68% | 14% |
Simply amazing how much punch the Dual core 275/875 has. It offers a 14% performance increase over a completely similar configured dual CPU Opteron 248 setup. Add a second core, and DB2 8.2 rewards you with another 70% performance increase. And all this is happening on our ATX MSI K8Master-FAR2 board.
Benchmarks IBM DB2: Single versus Dual versus Quad
What about the “conventional” quad CPU configuration? The Iwill H4103 was our testing platform.Concurrency | Dual Opteron 848 | Quad Opteron 848 | Quad versus Dual |
2.2 GHz | 2.2 GHz | ||
1 | 102 | 104 | 2% |
2 | 184 | 186 | 1% |
5 | 212 | 318 | 50% |
10 | 218 | 358 | 64% |
20 | 212 | 375 | 77% |
35 | 223 | 393 | 76% |
50 | 208 | 377 | 81% |
AVG | 214 | 364 | 70% |
DB2 continues to scale very well. A 70% performance increase is the result of adding two more CPUs. Notice that the Quad CPU need 20 concurrent connections running many queries to get to the full potential (up to 80% performance increase). The Quad Xeon was unfortunately not available to the lab.
45 Comments
View All Comments
linuxnizer - Tuesday, July 19, 2005 - link
Late contribution...The article mentions that Linux didn't work well with AMD Dual Core. The reason could be this:
http://www.iwill.net/inews.asp?n_id=35
it says:
NVIDIA CK804 does not support dual core under Linux yet, only under Microsoft Windows.
Illissius - Saturday, June 18, 2005 - link
Nice article. I'd also be interested in PostgreSQL, being the "other" major open source database... specifically, whether it's any better at scaling with multiple CPUs. (Not that I have any practical use for this information, I'm just curious.)Viditor - Saturday, June 18, 2005 - link
Seriously, mickyb and elmo may be correct about the Intel compilers (I frankly don't have a clue what's used in most shops)...The real problem is that it's a virtual impossibilty to create a "level playing field", but I have to say to the critiques of the article that Johan has done a stellar job of coming as close as possible!
Viditor - Saturday, June 18, 2005 - link
"They aren't testing compilers"Oh sure...just throw REALITY into the mix why don't you...!
;-)
Icehawk - Saturday, June 18, 2005 - link
They aren't testing compilers.Viditor - Saturday, June 18, 2005 - link
mickyb - Thanks for the input! Fair enough...maybe Johan could use both the Pathscale compiler (which is optimized highly for Opteron) and the Intel optimized compiler on his next series of tests?mickyb - Saturday, June 18, 2005 - link
I dissagree with the comment that a large number of people don't use the Intel compiler. I (other developers and IT shops) only use Intel compiler's for Linux. It is the fastest one out there for x86 and Itanium.If you are running a large database that requires a large server (compared with a desktop loaded with RAM to run a personal blog site) like this article is testing, you will be setting up the environment with a trained IT professional that will use the compiler that is fast and stable.
When we build our product for all the UNIX platforms, we always use the vendor compiler instead of gnu. gnu works great and is free, but it is not optimized nearly as much.
This is like saying the same audience won't recompile Linux on the platform they are going to install it on. This is the first thing you should do....and with an Intel compiler. There should be no real reason why one vendor Linux is faster than the others except for compile options and loaded modules. You cannot run Linux out of the box, it doesn't come in a box where I get it. :)
DonPMitchell - Saturday, June 18, 2005 - link
We need to see TPC-C benchmark results for MySQL and other new database systems. Why won't they step up and allow themselves to be compared to the major commercial systems?Viditor - Saturday, June 18, 2005 - link
ElMoIsEviL - "as much as I am un-biased"C'mon mate...anybody who has read your posts knows you're heavily biased towards Intel, just as people who have read mine know that I am biased towards AMD. The important thing is to try and set aside the bias to look at things from both sides...I do try, but admittedly don't ALWAYS succeed. :-)
I imagine you probably posted before you read the explanation of what a query cache is...understandable.
As to not using an Intel specific compiler, I suppose that if it HAD been used I would be complaining as well. We have to rely on Johan and Anand (who frankly know a Hell of a lot more about this than either of us) to choose based on what the market actually uses...if you can site impartial industry sources that show otherwise, I'm sure we would all (especially the AT staff) would love to see them.
I do know that over the years, Johan and Anand have shown themselves to be quite unbiased in their articles (you should go read some of them on Aces as well)!
There are certainly things that I could pick apart as well..e.g. when he states
"In the second half of 2004, already one million EM64T Xeons were shipped"
Yes they were shipped, but that doesn't mean they were sold. The majority of those shipments were probably to OEMs for inventory buildup. Remember that Intel had a huge inventory write-off at the same time, and this was most likely a shift in inventory.
Regardless, none of this has to do with the validity of the article which is excellent and makes sense. If you think about it, it should have been expected...the only for AMD to have increased their marketshare in servers is by performance. They certainly don't have the budget or marketing clout that Intel has!
S390 guy - Saturday, June 18, 2005 - link
About ISAM and DB/2... ISAM (Indexed Sequential Access Method) is NOT a database! It has no referential integrity nor rollback/commit features (although those can be activated on mainframe). ISAM was popular on mainframe when there wasn't any database (or rather when database was a too massive application to run!) and even there they were superseeded by VSAM. They're not much different from DOS random access files (an index file pointing to the relative record number on the main file).And it's no suprise that DB/2 scales well: mainframes rarely feature a single CPU, at least as far as I know.... IBM have had some 20 years to practice on multi-cpu machines!