Benchmark MySQL Performance On FreeBSD And Linux

Michael Vince mv at roq.com
Thu Dec 29 13:58:07 PST 2005


Chris wrote:

>>Make sure your compile your MySQL dynamically which is done by default,
>>if you include 'BUILD_STATIC=yes' you ruin your ability to change
>>threading libs.
>>
>>portupgrade -N  -m 'BUILD_OPTIMIZED=yes'
>>/usr/ports/databases/mysql41-server
>>Or upgrade
>>portupgrade -R  -m 'BUILD_OPTIMIZED=yes'/var/db/pkg/mysql-server-4.1.14
>>
>>
>>Use 'ldd' to find which threading library you are using.
>>
>>ldd /usr/local/libexec/mysqld
>>/usr/local/libexec/mysqld:
>>       libz.so.3 => /lib/libz.so.3 (0x800978000)
>>       libwrap.so.4 => /usr/lib/libwrap.so.4 (0x800a8b000)
>>       libcrypt.so.3 => /lib/libcrypt.so.3 (0x800b94000)
>>       libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x800cad000)
>>       libm.so.4 => /lib/libm.so.4 (0x800ea4000)
>>       libpthread.so.2 => */usr/lib/libpthread.so.2* (0x800fc0000)
>>       libc.so.6 => /lib/libc.so.6 (0x8010eb000)
>>
>>Put something like this into your /etc/libmap.conf to change your
>>threading library, and restart the service in question for the library
>>change to take effect.
>>[/usr/local/libexec/mysqld]
>>libpthread.so.2         libthr.so.2
>>libpthread.so           libthr.so
>>
>># ldd /usr/local/libexec/mysqld
>>/usr/local/libexec/mysqld:
>>       libz.so.3 => /lib/libz.so.3 (0x800978000)
>>       libwrap.so.4 => /usr/lib/libwrap.so.4 (0x800a8b000)
>>       libcrypt.so.3 => /lib/libcrypt.so.3 (0x800b94000)
>>       libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x800cad000)
>>       libm.so.4 => /lib/libm.so.4 (0x800ea4000)
>>       libpthread.so.2 => */usr/lib/libthr.so.2* (0x800fc0000)
>>       libc.so.6 => /lib/libc.so.6 (0x8010d7000)
>>
>>
>>
>>Ok thanks just 2 more questions.
>>    
>>
>
>(a) if I build dynamic there is no performance penalty? since the Makefile
>states build static for performance.
>(b) I have no /etc/libmap.conf it doesnt exist, so if I just create one and
>enter what you say it will work?
>
>Chris
>  
>
Yes check the URL below
http://dev.mysql.com/doc/refman/4.1/en/compile-and-link-options.html
The first line of the Optimizing the MySQL Server 
<http://dev.mysql.com/doc/refman/4.1/en/optimizing-the-server.html> in 
the Compiling section says
"You obtain the fastest executables when you link with |-static|."
And then again further down

" If you link dynamically (without |-static|), the result is 13% slower 
on Linux. Note that you still can use a dynamically linked MySQL library 
for your client applications. It is the server that is most critical for 
performance."

It would be great if some one could do the benchmarks on FreeBSD to 
verify that.

> (b) I have no /etc/libmap.conf it doesnt exist, so if I just create 
> one and enter what you say it will work?


Yes, its never there by default so just create it.
FYI there is a man page on libmap.conf

Mike


More information about the freebsd-performance mailing list