sysbench — многоцелевая утилита для тестирования производительности с открытым исходным кодом, она позволяет оценить параметры производительности процессора, памяти и файловой системы.
Некоторые из возможностей Sysbench включают:
Лицензия:
GPL2
Разработчики:
Петр Зайцев
Алексей Копытов
Синтаксис:
sysbench <основные_опции> --test=<имя_теста> <опции> <команда>
Основные опции:
Опция | Описание |
---|---|
--threads=N | Количество используемых потоков [1] |
--events=N | Ограничение на общее количество событий [0] |
--time=N | Ограничение общего времени выполнения в секундах [10] |
--forced-shutdown=STRING | Количество секунд, которые необходимо подождать после истечения --time перед принудительным завершением работы, или "off" для отключения [off] |
--thread-stack-size=SIZE | Размер стека на поток [64K] |
--rate=N | Средняя скорость транзакций. 0 по безлимитному тарифу [0] |
--report-interval=N | Периодически сообщать промежуточную статистику с заданным интервалом в секундах. 0 отключает промежуточные отчеты [0] |
--report-checkpoints=[LIST,...] | Сбросить полную статистику и сбросить все счетчики в указанные моменты времени. Аргумент представляет собой список значений, разделенных запятыми, представляющих количество времени в секундах, прошедшее с начала теста, когда должны быть выполнены контрольные точки отчета. Контрольные точки отчета по умолчанию отключены. [] |
--debug[=on|off] | Вывести дополнительную информацию об отладке [off] |
--validate[=on|off] | Выполнять валидационные проверки, где это возможно [off] |
--help[=on|off] | Вывести справку и выйти [off] |
--version[=on|off] | Вывести версию и выйти [off] |
--config-file=FILENAME | Файл, содержащий параметры командной строки |
--tx-rate=N | Устаревший псевдоним для --rate [0] |
--max-requests=N | Устаревший псевдоним для --events [0] |
--max-time=N | Устаревший псевдоним для --time [0] |
--num-threads=N | Устаревший псевдоним для --threads [1] |
Опции генератора псевдослучайных чисел:
Опция | Описание |
---|---|
--rand-type=STRING | Распределение случайных чисел {uniform,gaussian,special,pareto} [special] |
--rand-spec-iter=N | Количество итераций, используемых для генерации чисел [12] |
--rand-spec-pct=N | Процент значений, которые будут рассматриваться как "особые" (для специального распространения) [1] |
--rand-spec-res=N | Процент "специальных" значений для использования (для специального распространения) [75] |
--rand-seed=N | Начальное значение для генератора случайных чисел. При значении 0 текущее время используется в качестве начального значения ГСЧ [0] |
--rand-pareto-h=N | Параметр h для распределения pareto [0.2] |
Параметры журналирования:
--verbosity=N verbosity level {5 - debug, 0 - only critical messages} [3]
Параметр | Описание |
---|---|
--percentile=N | Процентиль для расчета статистики времени отклика (1-100). Используйте значение 0 для отключения расчета процентилей [95] |
--histogram[=on|off] | Выводить гистограмму времени отклика в отчете [off] |
Общие параметры базы данных:
Параметр | Описание |
---|---|
--db-driver=STRING | Указывает драйвер базы данных для использования ('help' для получения списка доступных драйверов) [mysql] |
--db-ps-mode=STRING | Режим использования подготовленных выражений {auto, disable} [auto] |
--db-debug[=on|off] | Выводить специфическую для базы данных отладочную информацию [off] |
Встроенные драйверы базы данных:
Драйвер | Описание |
---|---|
mysql | Драйвер MySQL |
pgsql | Драйвер PostgreSQL |
Параметры MySQL:
Параметр | Описание |
---|---|
--mysql-host=[СПИСОК,...] | Xост сервера MySQL [localhost] |
--mysql-port=[СПИСОК,...] | Порт сервера MySQL [3306] |
--mysql-socket=[СПИСОК,...] | Сокет MySQL |
--mysql-user=STRING | Пользователь MySQL [sbtest] |
--mysql-password=STRING | Пароль MySQL [] |
--mysql-db=STRING | Имя базы данных MySQL [sbtest] |
--mysql-ssl[=on|off] | Использовать SSL-соединения, если они доступны в библиотеке клиента [off] |
--mysql-ssl-cipher=STRING | Использовать определенный шифр для SSL-соединений [] |
--mysql-compression[=on|off] | Использовать сжатие, если оно доступно в библиотеке клиента [off] |
--mysql-debug[=on|off] | Трассировка всех вызовов клиентской библиотеки [off] |
--mysql-ignore-errors=[СПИСОК,...] | Список ошибок, игнорируемых при выполнении, или "all" [1213,1020,1205] |
--mysql-dry-run[=on|off] | Пробный запуск, предположение, что все вызовы API клиента MySQL успешны без их выполнения [off] |
Параметры PostgreSQL:
Параметр | Описание |
---|---|
--pgsql-host=STRING | Хост сервера PostgreSQL [localhost] |
--pgsql-port=N | Порт сервера PostgreSQL [5432] |
--pgsql-user=STRING | Пользователь PostgreSQL [sbtest] |
--pgsql-password=STRING | Пароль PostgreSQL [] |
--pgsql-db=STRING | Имя базы данных PostgreSQL [sbtest] |
Встроенные тесты:
Тест | Описание |
---|---|
fileio | Тест ввода-вывода файлов |
cpu | Тест производительности процессора |
memory | Тест скорости работы с памятью |
threads | Тест производительности подсистемы потоков |
mutex | Тест производительности мьютексов |
Список опций для каждого теста приведен:
sysbench <testname> help
sysbench --test=cpu run
Пример вывода:
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 10000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1421.07
General statistics:
total time: 10.0004s
total number of events: 14213
Latency (ms):
min: 0.67
avg: 0.70
max: 14.08
95th percentile: 0.75
sum: 9996.70
Threads fairness:
events (avg/stddev): 14213.0000/0.00
execution time (avg/stddev): 9.9967/0.00
sysbench --test=memory run
Пример вывода:
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 74792074 (7478320.88 per second)
73039.13 MiB transferred (7303.05 MiB/sec)
General statistics:
total time: 10.0001s
total number of events: 74792074
Latency (ms):
min: 0.00
avg: 0.00
max: 0.08
95th percentile: 0.00
sum: 4622.24
Threads fairness:
events (avg/stddev): 74792074.0000/0.00
execution time (avg/stddev): 4.6222/0.00
Установить можно отдельным модулем или пакетом:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Модуль, необходимый для установки:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Пакет, необходимый для установки:
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены. Если режим загрузки другой, то рекомендуется воспользоваться "Сохранением изменений".