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