Kees Hoekzema
Hello list,
Finally I've got a working Opteron, so I decided to test its stability and speed. I imported a backup of the database it is going to run and ran a few queries we use in our scripts on them to test how fast it was.
We ran this script a few times with different concurrency levels using apache and ab and then we started a 32 bits mysql version and ran the same script with the same parameters again. There were some results I didn't expect.
I would like to see those results with our current version (GCC 3.3 which is faster than 3.2, current glibc) on SuSE Linux 9.0. Do you have access to it? Or can you give us some testcase to reproduce? Andreas
These are the results I got: First number is # threads, second and third queries/s, last is % difference
Threads 64 bits 32 bits % 1 1944,56 2462,48 26,6% 2 2893,32 3604,71 24,6% 3 2867,71 3654,71 27,4% 4 2818,35 3519,48 24,9% 5 2768,75 3478,66 25,6%
Apparently the 32 bits version of MySQL is almost 25% faster than the 64-bit flavor of MySQL. The queries used here are 'heavy' queries, not the average selects. Every result you see here above is the result of requesting 5000 times the script, resulting in approx. 250.000 queries on the MySQL server.
To avoid coincidences in the queries we chose, I made a second script, containing 'light' queries, the results:
Threads 64 bits 32 bits % 1 7091,16 6808,51 -4,0% 2 8358,85 8779,57 5,0% 3 9290,33 9678,81 4,2% 4 9346,16 10075,78 7,8% 5 9514,71 10289,20 8,1% 7 9495,10 10306,70 8,5%
Less difference, but the 32-bits version is still faster than the 64-bits, with more threads the difference gets up to 16%.
The used MySQL version is 4.0.16 for both 32 bits and 64 bits and I'm running SuSE Linux Beta Distribution version 8.2-beta9 with a 2.4.19-NUMA kernel on a Dual Opteron 246 w/ 4G RAM on an Tyan K8S motherboard.
After the benchmarks I have a few questions, - Why is the 64-bits version so much slower than the 32-bits version? The 64-bits version is compiled with gcc 3.2.1 on a SuSE box (without optimalisations apparently), the 32-bits is compiled with gcc 2.95.3 with optimalisations '-O2 -mcpu=pentiumpro'. Is the difference in performance due to these compiler options or is there something else I totally overlooked?
- Is it useful to compile my own MySQL (with gcc 3.3?) or do I have to wait until MySQL is better optimized for the Opteron?
A lot of questions and text, but I hope someone can enlighten me on this matter.
tia, - kees
Andreas -- Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126