MySQL Performance 6.0rc1

David Xu davidxu at freebsd.org
Thu Oct 27 00:12:25 PDT 2005


Xin LI wrote:
> Hi, Marian,
> 
> 在 2005-10-26三的 11:14 +0200,Marian Hettwer写道:
> 
>>Hi Folks,
>>
>>I'm using RC1 on some of my test servers and workstations. So far, it 
>>runs very good (as in stable and fast) :)
>>However, I thought of doing a small benchmark of MySQL in comparison to 
>>Linux 2.6.8 (Debian Sarge) and the results are kinda... shocking.
> 
> [...]
> 
>>Any Ideas where this huge difference comes from? Did I oversee some 
>>debugging features still active in RC1 ?
> 
> 
> There are many factors that can affect the performance of MySQL.  Would
> you please post the output of "dumpfs /var | head -n 21" on your server?
> (Replace /var with whatever mountpoint that your database is stored in).
> 
> Some observations that I think can affect MySQL performance:
>  - Our malloc(3) implementation might be sub-optimal for the workload.
>  - Lack of some POSIX system call which was implemented in other ways
> (e.g. we do not have fsyncdata yet)
>  - Some detailed implementation difference between our and Linux's
> threading library, or MySQL itself.
> 
> I think David (davidxu@) had worked on performance of MySQL and he may
> have some suggestions.
> 
make sure key_buffer_size is 256M or more, set it in /etc/my.cnf:
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer_size = 256M

also, after key buffer size is no longer a bottleneck factor, try
to repalce microtime() with getmicrotime() in gettimeofday syscall:
the syscall is in /sys/kern/kern_time.c, here is some benchmark results:

http://people.freebsd.org/~davidxu/mysql/gettimeofday_use_getmicrotime.txt
http://people.freebsd.org/~davidxu/mysql/gettimeofday_use_microtime.txt

Here is the ktrace dump for mysql server 4.1.14:
http://people.freebsd.org/~davidxu/mysql/mysql_ktrace.txt

Check gettimeofday syscall, it follows every I/O syscall, I think
our gettimeofday is tooooooo expensive, if we can directly get time from
memory, the performance will be improved further.

> BTW.  What file system are you using on your Debian test?  What's the
> mount options?
> 
> Cheers,



More information about the freebsd-current mailing list