Тестирование производительности Mysql с помощью sysbench. » IT FOundation – Поваренная книга системного администратора.
Только нужная и полезная документация. Регистрируйтесь, пишите, комментируйте!
24 июня 2009

Тестирование производительности Mysql с помощью sysbench.

опубликовано в базы данных |

Если вы решили заняться оптимизацией базы данных MySQL – вам потребуется какой-нибудь инструмент для оценки скорости его работы.
Для этой цели подойдет программа sysbench – среди прочего она позволят тестировать производительность MySQL.

Для работы необходимо установить утилиту sysbench, для Linux Gentoo это
# emerge sysbench.

Далее создаем базу данных, по умолчанию sysbench работает с базой данных sbtest, такую мы и сделаем:
mysql> create database sbtest;

Далее необходимо подготовить базу данных для тестирования:
# sysbench --num-threads=10 --test=oltp --mysql-host=127.0.0.1 --mysql-user=username --mysql-password=password --oltp-table-size=500000 --mysql-table-engine=myisam prepare

где:

--num-threads – количество одновременно запущенных запросов.
--test=oltp – имя запускаемого теста, в данном случае тест oltp – тест измерения реальной производительности MySQL.
--mysql-host – хост где запущен mysql сервер.
--mysql-user - имя пользователя с полными правами доступа к базе sbtest, можно оставить root
--mysql-password – пароль на доступ к базе данных.
--oltp-table-size – количество строк в тестовой таблице – в нашем случае 500000.
--mysql-table-engine – тип созданной базы, мы будем тестировать myusam.

после подготовки таблицы можно запустить тестирование:
# sysbench --num-threads=10 --test=oltp --mysql-host=127.0.0.1 --mysql-user=username --mysql-password=password --oltp-table-size=500000 --mysql-table-engine=myisam run

В результате мы увидим статистку, на основании которой можно проанализировать производительность MySQL сервера:

OLTP test statistics:
queries performed:
read:                             140000
write:                            50000
other:                            20000
total:                            210000
transactions:                     10000  (237.51 per sec.)
deadlocks:                         0      (0.00 per sec.)
read/write requests:            190000 (4512.68 per sec.)
other operations:                 20000  (475.02 per sec.)

Test execution summary:
total time:                          42.1036s
total number of events:              10000
total time taken by event execution: 420.6740
per-request statistics:
min:                                  2.63ms
avg:                                 42.07ms
max:                                304.75ms
approx.  95 percentile:              76.68ms

Threads fairness:
events (avg/stddev):           1000.0000/10.90
execution time (avg/stddev):   42.0674/0.01

Далее можно почистить временную базу от данных:
# sysbench --num-threads=10 --test=oltp --mysql-host=127.0.0.1 --mysql-user=username --mysql-password=password --oltp-table-size=500000 --mysql-table-engine=myisam cleanup



Написать комментарий


три × 4 =