Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Dec 2005 08:57:58 +1100
From:      Michael Vince <mv@roq.com>
To:        freebsd-performance@freebsd.org
Subject:   Re: Benchmark MySQL Performance On FreeBSD And Linux
Message-ID:  <43B45BE6.7000401@roq.com>
In-Reply-To: <3aaaa3a0512272202u715ccb4fo@mail.gmail.com>
References:  <20051216064615.GA41775@gslin.org>	<20051216070609.GA3216@il.fontys.nl>	<20051216204322.GA66409@gslin.org> <43A35A1E.3020408@samsco.org>	<3aaaa3a0512221304p3a35b1ecj@mail.gmail.com> <43B0BB44.40708@roq.com> <3aaaa3a0512272202u715ccb4fo@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43B45BE6.7000401>