Sysbench - Утилита для тестирования производительности MySQL

Ответить
admin
Администратор
Сообщения: 198
Зарегистрирован: 05 янв 2011, 04:19

Sysbench - Утилита для тестирования производительности MySQL

Сообщение admin »

Sysbench - Утилита для тестирования производительности MySQL и операционной системы.

Синтаксис вызова утилиты:

Код: Выделить всё

sysbench --test=имя-теста [опции] команда




Команды, которые можно использовать в тестах:

prepare — подготовка теста (создание таблиц, вставка данных и т.п.) если актуально
run — выполнение теста
cleanup — очистка данных (после этапа подготовки)
help — выводит дополнительные параметры теста

Параметр "--test" задает имя теста, который следует выполнять. Примеры некоторых тестов:

cpu

Этот тест проверит производительность процессоров, используя вычисления с 64-разрядными числами. Например:

Код: Выделить всё

sysbench --test=cpu --cpu-max-prime=20000 run




memory
Этот тест служит для измерения производительности последовательных операций чтения/записи в оперативную память.

fileio

Этот тест используется для симуляции разнообразной нагрузки на файловую подсистему. При подготовке теста создается определенное количество файлов (указанного размера). Затем, при выполнении теста, над этими файлами происходят операции чтения/записи в несколько потоков.

Код: Выделить всё

sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw run
sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw cleanup



threads

Служит для проверки работы в условиях большого количества конкурирующих потоков. Тест заключается в создании нескольких потоков и нескольких мутексов. Далее каждый поток начинает генерировать запросы, которые блокируют мутекс, исполняют процессорные задачи (для симуляции реальной работы) и разблокируют мутекс.

Код: Выделить всё

sysbench --num-threads=64 --test=threads --thread-yields=100 --thread-locks=2 run




OLTP тестирование — производительность MySQL

Этот тест проводится в несколько этапов. На этапе prepare

Код: Выделить всё

sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=10000 --mysql-host=x.x.x.x --mysql-user=root --mysql-password=root --db-driver=mysql --test=oltp prepare


Эта операция создаст innoDB таблицу на 10000 записей. По умолчанию таблица создается в базе данных sbtest (не забудьте создать эту БД либо указать другую).

Далее выполняются тесты:

Код: Выделить всё

sysbench --num-threads=8 --max-requests=500 --oltp-table-size=10000 --mysql-host=x.x.x.x --mysql-user=root --mysql-password=root --db-driver=mysql --test=oltp run


Эта команда выполнит тест с 8 клиентами (максимальное количество запросов — 500) на таблице, которая была создана на предыдущем этапе. После окончания теста не забудьте выполнить команду cleanup. После выполнения Вы увидите подробные результаты тестирования.
Ответить