Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
application:sysbench [2023/11/30 02:07] – 192.168.1.159 | application:sysbench [2024/01/27 03:39] (текущий) – mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag> | + | {{tag> |
- | ====== Sysbench ====== | + | ====== Sysbench |
+ | |||
+ | SysBench - это модульный, | ||
+ | |||
+ | Идея этого набора тестов состоит в том, чтобы быстро получить представление о производительности системы без настройки сложных тестов базы данных или даже без установки базы данных вообще. | ||
+ | |||
+ | |||
+ | ^ Вариант Описание | ||
+ | | ::: | ::: | ||
+ | | || | | | ||
+ | | --threads | ||
+ | | --events | ||
+ | | --time | ||
+ | | --warmup-time | ||
+ | | --rate | ||
+ | | --thread-init-timeout | ||
+ | | --thread-stack-size | ||
+ | | --report-interval | ||
+ | | --debug | ||
+ | | --validate | ||
+ | | | ||
+ | | **Log параметры (параметры журнала)** | ||
+ | | --help | ||
+ | | --verbosity | ||
+ | | --percentile | ||
+ | | --luajit-cmd | ||
+ | | | ||
+ | | **General Database Options (общие параметры базы данных)** | ||
+ | | -db-driven | ||
+ | | -db-ps-mode | ||
+ | | -db-debug | ||
+ | | | ||
+ | | **Mysql options** | ||
+ | | | ||
+ | ==== Примеры ==== | ||
+ | |||
+ | <code bash> | ||
+ | $ sysbench / | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | $ sysbench / | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | $ sysbench / | ||
+ | </ | ||
=== Проверяем производительность CPU === | === Проверяем производительность CPU === | ||
Строка 21: | Строка 67: | ||
$ sysbench --test=fileio --file-total-size=70G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run | $ sysbench --test=fileio --file-total-size=70G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run | ||
</ | </ | ||
+ | |||
+ | Очистка временных файлов: | ||
+ | <code bash> | ||
+ | $ sysbench --test=fileio cleanup | ||
+ | </ | ||
+ | |||
+ | === Тест MySQL OLTP === | ||
+ | |||
+ | Подготовка к тестированию: | ||
+ | <code bash> | ||
+ | $ sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass prepare | ||
+ | </ | ||
+ | |||
+ | Запуск теста: | ||
+ | <code bash> | ||
+ | $ sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass --max-time=60 --oltp-read-only=off --max-requests=0 --num-threads=8 run | ||
+ | </ | ||
+ | |||
+ | Очистка: | ||
+ | <code bash> | ||
+ | $ sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=pass cleanup | ||
+ | </ | ||
+ | |||
+ | === Тест MySQL oltp_read_write === | ||
+ | |||
+ | Подготовка к тестированию: | ||
+ | <code bash> | ||
+ | $ sysbench / | ||
+ | </ | ||
+ | |||
+ | Запуск теста: | ||
+ | <code bash> | ||
+ | $ sysbench / | ||
+ | </ | ||
+ | |||
+ | Очистка: | ||
+ | <code bash> | ||
+ | $ sysbench / | ||
+ | </ | ||
+ | |||
+ | === Как измерить производительность PostgreSQL? === | ||
+ | |||
+ | <code sql> | ||
+ | BEGIN; | ||
+ | UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; | ||
+ | SELECT abalance FROM pgbench_accounts WHERE aid = :aid; | ||
+ | UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; | ||
+ | UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; | ||
+ | INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); | ||
+ | END; | ||
+ | </ | ||
+ | |||
+ | Для создания тестовых данных выполняем команду: | ||
+ | <code bash> | ||
+ | $ pgbench -h localhost -U test_user -i -s 100 test | ||
+ | </ | ||
+ | |||
+ | Выполняем тестирование: | ||
+ | <code bash> | ||
+ | $ pgbench -h localhost -U test_user -t 5000 -c 4 -j 4 test | ||
+ | </ | ||
+ | |||
+ | === А как же производительность PHP? === | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Для запуска: | ||
+ | <code bash> | ||
+ | $ wget https:// | ||
+ | $ php phpbm.phar | ||
+ | </ | ||
+ | |||
+ | ===== Документация / Ссылки ===== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// |