Обзор Performance Schema
Performance Schema — это функция для мониторинга производительности сервера.
Введение
Он реализован как движок хранения данных и, следовательно, появится в списке доступных движков хранения.
SHOW ENGINES; +--------------------+---------+----------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------+--------------+------+------------+ | ... | | | | | | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | ... | | | | | | +--------------------+---------+----------------------------------+--------------+------+------------+
Однако, performance_schema это не обычный движок хранения для хранения данных, это механизм для реализации функции Performance Schema.
Движок хранения содержит базу данных, называемую performance_schema, которая в свою очередь состоит из ряда таблиц, которые можно запросить с помощью обычных SQL-запросов, возвращающих определённую информацию о производительности.
USE performance_schema
SHOW TABLES; +----------------------------------------------------+ | Tables_in_performance_schema | +----------------------------------------------------+ | accounts | ... | users | +----------------------------------------------------+ 80 rows in set (0.00 sec)
См. Список таблиц Performance Schema для полного списка и ссылок на подробные описания каждой таблицы. Начиная с MariaDB 10.5, существует 80 таблиц Performance Schema, а до MariaDB 10.4 — 52.
Активация Performance Schema
Performance Schema по умолчанию отключён по соображениям производительности. Вы можете проверить его текущий статус, посмотрев значение системной переменной performance_schema.
SHOW VARIABLES LIKE 'performance_schema'; +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | performance_schema | ON | +--------------------+-------+
Performance schema не может быть активирован во время выполнения — его необходимо установить при запуске сервера, добавив следующую строку в ваш файл конфигурации my.cnf.
performance_schema=ON
До MariaDB 10.4 вся память, используемая Performance Schema, выделялась при запуске. Начиная с MariaDB 10.5, часть памяти выделяется динамически в зависимости от нагрузки, количества подключений, количества открытых таблиц и т.д.
Включение Performance Schema
Вам нужно настроить все потребители (начало сбора данных) и инструменты (что собирать):
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES'; UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES';
Вы можете определить, что включить/отключить с помощью WHERE NAME like "%what_to_enable"; Вы можете отключить инструменты, установив ENABLED в "NO".
Вы также можете сделать это в файле my.cnf. Следующее включит все инструменты всех этапов (вычислительных блоков) в MariaDB:
[mysqld] performance_schema=ON performance-schema-instrument='stage/%=ON' performance-schema-consumer-events-stages-current=ON performance-schema-consumer-events-stages-history=ON performance-schema-consumer-events-stages-history-long=ON
Список переменных Performance Schema
SHOW VARIABLES LIKE "perf%"; +--------------------------------------------------------+-------+ | Variable_name | Value | +--------------------------------------------------------+-------+ | performance_schema | ON | ... | performance_schema_users_size | 100 | +--------------------------------------------------------+-------+
См. Переменные системы Performance Schema для получения полного списка доступных системных переменных.
Обратите внимание, что события «потребителей» не отображаются в этом списке, так как они доступны только в качестве опций, а не как системные переменные, и их можно включить только при запуске.
Комментарии к столбцам
Начиная с MariaDB 10.7.1, к столбцам таблиц в Performance Schema добавлены комментарии. Их можно просмотреть, например:
SELECT column_name, column_comment FROM information_schema.columns
WHERE table_schema='performance_schema' AND table_name='file_instances';
...
*************************** 2. row ***************************
column_name: EVENT_NAME
column_comment: Instrument name associated with the file.
*************************** 3. row ***************************
column_name: OPEN_COUNT
column_comment: Open handles on the file. A value of greater than zero means
that the file is currently open.
...
См. также
- Опции схемы производительности
- SHOW ENGINE STATUS
- SHOW PROFILE
- ANALYZE STATEMENT
- Схема производительности в MySQL 5.6. Всё здесь должно работать и для MariaDB.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/performance-schema-overview/