На выходных ради интереса посмотрел работу MySQL (myisam) под FreeBSD 6.2 с libthr и libptread
Получилась такая картинка:
Чего в общем то и следовало ожидать: libthr в 6-ке работает заметно лучше чем libptread, благадоря работе проделанной David Xu.
- FreeBSD 6.2-RELEASE amd64
- mysql-server-4.1.22
Тест:
#!/bin/sh
for i in `jot 9`; do
sysbench --test=oltp --mysql-host=dirX --mysql-user=sysbench --mysql-password=XXX --mysql-table-engine=myisam --oltp-table-size=1000000 prepare
sleep 30
sysbench --test=oltp --mysql-host=dirX --mysql-user=sysbench --mysql-password=XXX --max-requests=0 --max-time=60 --oltp-test-mode=nontrx --num-threads=${i} run
sysbench --test=oltp --mysql-host=dirX --mysql-user=sysbench --mysql-password=XXX --mysql-table-engine=myisam cleanup
done
for i in `jot 40 10 400`; do
sysbench --test=oltp --mysql-host=dirX --mysql-user=sysbench --mysql-password=XXX --mysql-table-engine=myisam --oltp-table-size=1000000 prepare
sleep 30
sysbench --test=oltp --mysql-host=dirX --mysql-user=sysbench --mysql-password=XXX --max-requests=0 --max-time=60 --oltp-test-mode=nontrx --num-threads=${i} run
sysbench --test=oltp --mysql-host=dirX --mysql-user=sysbench --mysql-password=XXX --mysql-table-engine=myisam cleanup
done
График был построен в
gnuplot:
set terminal png transparent small
set output 'sysbench-01.png'
set style data linespoints
set ylabel "transactions per second"
set xlabel "threads"
set size 1.0,0.6
plot 'sysbench-libthr.dat' using 1:2 title "libthr", 'sysbench-libpthread.dat' using 1:2 title "libpthread"