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