Таблица INNODB_METRICS схемы информации
Таблица схемы информации INNODB_METRICS содержит список полезных метрик производительности InnoDB. Каждая строка в таблице представляет собой отслеживаемый счетчик, который можно останавливать, запускать и сбрасывать, а также группировать по модулю.
Для просмотра таблицы требуется PROCESS право доступа.
Она имеет следующие столбцы:
| Столбец | Описание |
|---|---|
NAME |
Уникальное имя счетчика. |
SUBSYSTEM |
Подсистема InnoDB. См. ниже соответствующий модуль, используемый для включения/отключения мониторинга этой подсистемы с помощью системных переменных innodb_monitor_enable и innodb_monitor_disable. |
COUNT |
Количество с момента включения. |
MAX_COUNT |
Максимальное значение с момента включения. |
MIN_COUNT |
Минимальное значение с момента включения. |
AVG_COUNT |
Среднее значение с момента включения. |
COUNT_RESET |
Количество с момента последнего сброса. |
MAX_COUNT_RESET |
Максимальное значение с момента последнего сброса. |
MIN_COUNT_RESET |
Минимальное значение с момента последнего сброса. |
AVG_COUNT_RESET |
Среднее значение с момента последнего сброса. |
TIME_ENABLED |
Время последнего включения. |
TIME_DISABLED |
Время последнего отключения. |
TIME_ELAPSED |
Время с момента включения. |
TIME_RESET |
Время последнего сброса. |
STATUS |
Включен или выключен счетчик в данный момент. |
TYPE |
Тип элемента; один из counter, value, status_counter, set_owner, set_member. |
COMMENT |
Описание счетчика. |
Включение и отключение счетчиков
Большинство счетчиков по умолчанию отключены. Для их включения используйте системную переменную innodb_monitor_enable. Вы можете включить переменную по ее имени, например:
SET GLOBAL innodb_monitor_enable = icp_match;
или включить несколько счетчиков, сгруппированных по модулю. Поле SUBSYSTEM указывает, какие счетчики сгруппированы вместе, но необходимо использовать следующие имена модулей:
| Имя модуля | Поле подсистемы |
|---|---|
module_metadata |
metadata |
module_lock |
lock |
module_buffer |
buffer |
module_buf_page |
buffer_page_io |
module_os |
os |
module_trx |
transaction |
module_purge |
purge |
module_compress |
compression |
module_file |
file_system |
module_index |
index |
module_adaptive_hash |
adaptive_hash_index С MariaDB 10.6.2, если innodb_adaptive_hash_index отключен (по умолчанию), adaptive_hash_index не будет обновляться. |
module_ibuf_system |
change_buffer |
module_srv |
server |
module_ddl |
ddl |
module_dml |
dml |
module_log |
recovery |
module_icp |
icp |
В подсистеме icp четыре счетчика:
SELECT NAME, SUBSYSTEM FROM INNODB_METRICS WHERE SUBSYSTEM='icp'; +------------------+-----------+ | NAME | SUBSYSTEM | +------------------+-----------+ | icp_attempts | icp | | icp_no_match | icp | | icp_out_of_range | icp | | icp_match | icp | +------------------+-----------+
Чтобы включить их все, используйте соответствующее имя модуля из таблицы выше, module_icp.
SET GLOBAL innodb_monitor_enable = module_icp;
Подстановочный знак %, используемый для представления любого количества символов, также может использоваться при именовании счетчиков, например:
SET GLOBAL innodb_monitor_enable = 'buffer%'
Чтобы отключить счетчики, используйте системную переменную innodb_monitor_disable, используя те же правила именования, что и при включении.
Статус счетчика не сохраняется и сбрасывается при перезапуске сервера. Можно использовать параметры командной строки или параметр innodb_monitor_enable только в файле конфигурации.
Сброс счетчиков
Счетчики также можно сбросить. Сброс устанавливает все значения *_COUNT_RESET в ноль, не затрагивая значения *_COUNT, которые представляют счет с момента включения счетчика. Сброс выполняется с помощью системных переменных innodb_monitor_reset (для отдельных счетчиков) и innodb_monitor_reset_all (для всех счетчиков).
Упрощение с MariaDB 10.6
С MariaDB 10.6 интерфейс был упрощен путем удаления следующего:
- buffer_LRU_batches_flush
- buffer_LRU_batch_flush_pages
- buffer_LRU_batches_evict
- buffer_LRU_batch_evict_pages
и изменения следующих параметров для отражения статусных переменных:
- buffer_LRU_batch_flush_total_pages: innodb_buffer_pool_pages_LRU_flushed
- buffer_LRU_batch_evict_total_pages: innodb_buffer_pool_pages_LRU_freed
Целью является полное удаление интерфейса (см. MDEV-15706).
Примеры
SELECT name,subsystem,type,comment FROM INFORMATION_SCHEMA.INNODB_METRICS\G
*************************** 1. row ***************************
name: metadata_table_handles_opened
subsystem: metadata
type: counter
comment: Number of table handles opened
*************************** 2. row ***************************
name: lock_deadlocks
subsystem: lock
type: value
comment: Number of deadlocks
*************************** 3. row ***************************
name: lock_timeouts
subsystem: lock
type: value
comment: Number of lock timeouts
*************************** 4. row ***************************
name: lock_rec_lock_waits
subsystem: lock
type: counter
comment: Number of times enqueued into record lock wait queue
*************************** 5. row ***************************
name: lock_table_lock_waits
subsystem: lock
type: counter
comment: Number of times enqueued into table lock wait queue
*************************** 6. row ***************************
name: lock_rec_lock_requests
subsystem: lock
type: counter
comment: Number of record locks requested
*************************** 7. row ***************************
name: lock_rec_lock_created
subsystem: lock
type: counter
comment: Number of record locks created
*************************** 8. row ***************************
name: lock_rec_lock_removed
subsystem: lock
type: counter
comment: Number of record locks removed from the lock queue
*************************** 9. row ***************************
name: lock_rec_locks
subsystem: lock
type: counter
comment: Current number of record locks on tables
*************************** 10. row ***************************
name: lock_table_lock_created
subsystem: lock
type: counter
comment: Number of table locks created
...
*************************** 207. row ***************************
name: icp_attempts
subsystem: icp
type: counter
comment: Number of attempts for index push-down condition checks
*************************** 208. row ***************************
name: icp_no_match
subsystem: icp
type: counter
comment: Index push-down condition does not match
*************************** 209. row ***************************
name: icp_out_of_range
subsystem: icp
type: counter
comment: Index push-down condition out of range
*************************** 210. row ***************************
name: icp_match
subsystem: icp
type: counter
comment: Index push-down condition matches
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/information-schema-innodb_metrics-table/