Spec-Zone.ru › MySQL 9.2

17.17.3 Монитор InnoDB по умолчанию и монитор блокировок

Монитор блокировок идентичен монитору по умолчанию, за исключением того, что он включает дополнительную информацию о блокировках. Включение любого из мониторов для периодического вывода включает один и тот же поток вывода, но в поток включается дополнительная информация, если включен монитор блокировок. Например, если вы включите монитор по умолчанию и монитор блокировок, это включит один поток вывода. В поток включается дополнительная информация о блокировках до тех пор, пока вы не отключите монитор блокировок.

Вывод монитора по умолчанию ограничен 1 МБ при использовании инструкции SHOW ENGINE INNODB STATUS. Это ограничение не распространяется на вывод в стандартный поток ошибок сервера (stderr).

Пример вывода монитора по умолчанию:

mysql> SHOW ENGINE INNODB STATUS\G
*************************** 1. row ***************************
  Type: InnoDB
  Name:
Status:
=====================================
2018-04-12 15:14:08 0x7f971c063700 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 4 seconds
-----------------
BACKGROUND THREAD
-----------------
srv_master_thread loops: 15 srv_active, 0 srv_shutdown, 1122 srv_idle
srv_master_thread log flush and writes: 0
----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 24
OS WAIT ARRAY INFO: signal count 24
RW-shared spins 4, rounds 8, OS waits 4
RW-excl spins 2, rounds 60, OS waits 2
RW-sx spins 0, rounds 0, OS waits 0
Spin rounds per wait: 2.00 RW-shared, 30.00 RW-excl, 0.00 RW-sx
------------------------
LATEST FOREIGN KEY ERROR
------------------------
2018-04-12 14:57:24 0x7f97a9c91700 Transaction:
TRANSACTION 7717, ACTIVE 0 sec inserting
mysql tables in use 1, locked 1
4 lock struct(s), heap size 1136, 3 row lock(s), undo log entries 3
MySQL thread id 8, OS thread handle 140289365317376, query id 14 localhost root update
INSERT INTO child VALUES (NULL, 1), (NULL, 2), (NULL, 3), (NULL, 4), (NULL, 5), (NULL, 6)
Foreign key constraint fails for table `test`.`child`:
,
  CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`) ON DELETE
  CASCADE ON UPDATE CASCADE
Trying to add in child table, in index par_ind tuple:
DATA TUPLE: 2 fields;
 0: len 4; hex 80000003; asc     ;;
 1: len 4; hex 80000003; asc     ;;

But in parent table `test`.`parent`, in index PRIMARY,
the closest match we can find is record:
PHYSICAL RECORD: n_fields 3; compact format; info bits 0
 0: len 4; hex 80000004; asc     ;;
 1: len 6; hex 000000001e19; asc       ;;
 2: len 7; hex 81000001110137; asc       7;;

------------
TRANSACTIONS
------------
Trx id counter 7748
Purge done for trx's n:o < 7747 undo n:o < 0 state: running but idle
History list length 19
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 421764459790000, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 7747, ACTIVE 23 sec starting index read
mysql tables in use 1, locked 1
LOCK WAIT 2 lock struct(s), heap size 1136, 1 row lock(s)
MySQL thread id 9, OS thread handle 140286987249408, query id 51 localhost root updating
DELETE FROM t WHERE i = 1
------- TRX HAS BEEN WAITING 23 SEC FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 4 page no 4 n bits 72 index GEN_CLUST_INDEX of table `test`.`t`
trx id 7747 lock_mode X waiting
Record lock, heap no 3 PHYSICAL RECORD: n_fields 4; compact format; info bits 0
 0: len 6; hex 000000000202; asc       ;;
 1: len 6; hex 000000001e41; asc      A;;
 2: len 7; hex 820000008b0110; asc        ;;
 3: len 4; hex 80000001; asc     ;;

------------------
TABLE LOCK table `test`.`t` trx id 7747 lock mode IX
RECORD LOCKS space id 4 page no 4 n bits 72 index GEN_CLUST_INDEX of table `test`.`t`
trx id 7747 lock_mode X waiting
Record lock, heap no 3 PHYSICAL RECORD: n_fields 4; compact format; info bits 0
 0: len 6; hex 000000000202; asc       ;;
 1: len 6; hex 000000001e41; asc      A;;
 2: len 7; hex 820000008b0110; asc        ;;
 3: len 4; hex 80000001; asc     ;;

--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (read thread)
I/O thread 4 state: waiting for i/o request (read thread)
I/O thread 5 state: waiting for i/o request (read thread)
I/O thread 6 state: waiting for i/o request (write thread)
I/O thread 7 state: waiting for i/o request (write thread)
I/O thread 8 state: waiting for i/o request (write thread)
I/O thread 9 state: waiting for i/o request (write thread)
Pending normal aio reads: [0, 0, 0, 0] , aio writes: [0, 0, 0, 0] ,
 ibuf aio reads:, log i/o's:, sync i/o's:
Pending flushes (fsync) log: 0; buffer pool: 0
833 OS file reads, 605 OS file writes, 208 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 0, seg size 2, 0 merges
merged operations:
 insert 0, delete mark 0, delete 0
discarded operations:
 insert 0, delete mark 0, delete 0
Hash table size 553253, node heap has 0 buffer(s)
Hash table size 553253, node heap has 1 buffer(s)
Hash table size 553253, node heap has 3 buffer(s)
Hash table size 553253, node heap has 0 buffer(s)
Hash table size 553253, node heap has 0 buffer(s)
Hash table size 553253, node heap has 0 buffer(s)
Hash table size 553253, node heap has 0 buffer(s)
Hash table size 553253, node heap has 0 buffer(s)
0.00 hash searches/s, 0.00 non-hash searches/s
---
LOG
---
Log sequence number          19643450
Log buffer assigned up to    19643450
Log buffer completed up to   19643450
Log written up to            19643450
Log flushed up to            19643450
Added dirty pages up to      19643450
Pages flushed up to          19643450
Last checkpoint at           19643450
129 log i/o's done, 0.00 log i/o's/second
----------------------
BUFFER POOL AND MEMORY
----------------------
Total large memory allocated 2198863872
Dictionary memory allocated 409606
Buffer pool size   131072
Free buffers       130095
Database pages     973
Old database pages 0
Modified db pages  0
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 810, created 163, written 404
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 973, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
----------------------
INDIVIDUAL BUFFER POOL INFO
----------------------
---BUFFER POOL 0
Buffer pool size   65536
Free buffers       65043
Database pages     491
Old database pages 0
Modified db pages  0
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 411, created 80, written 210
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 491, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 1
Buffer pool size   65536
Free buffers       65052
Database pages     482
Old database pages 0
Modified db pages  0
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 399, created 83, written 194
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 482, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
0 read views open inside InnoDB
Process ID=5772, Main thread ID=140286437054208 , state=sleeping
Number of rows inserted 57, updated 354, deleted 4, read 4421
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
----------------------------
END OF INNODB MONITOR OUTPUT
============================

Разделы вывода монитора по умолчанию

Для описания каждого показателя, отчётного монитором по умолчанию, обратитесь к главе Метрики в руководстве пользователя Oracle Enterprise Manager for MySQL Database User's Guide.

  • Status

    Этот раздел отображает метку времени, имя монитора и количество секунд, на которых основаны средние значения за секунду. Количество секунд — это время, прошедшее между текущим временем и последним временем, когда InnoDB был напечатан вывод монитора.

  • BACKGROUND THREAD

    Строки srv_master_thread показывают работу основного фонового потока.

  • SEMAPHORES

    Этот раздел отчитывается о потоках, ожидающих семафор, и статистике о том, сколько раз потокам потребовалось ожидание или ожидание на семафор мьютекса или семафора rw-блокировки. Большое количество потоков, ожидающих семафоров, может быть результатом ввода-вывода с диска или проблем с конкуренцией внутри InnoDB. Конкуренция может быть вызвана сильным параллелизмом запросов или проблемами в планировании потоков операционной системы. Уменьшение системной переменной innodb_thread_concurrency ниже значения по умолчанию может помочь в таких ситуациях. Строка Spin rounds per wait показывает количество циклов спин-блокировки на ожидание ОС мьютекса.

    Метрики мьютексов отчитываются с помощью SHOW ENGINE INNODB MUTEX.

  • LATEST FOREIGN KEY ERROR

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

  • LATEST DETECTED DEADLOCK

    Этот раздел предоставляет информацию о самом последнем тупике. Он отсутствует, если тупик не произошёл. Содержимое показывает, какие транзакции участвуют, какую инструкцию каждая из них пыталась выполнить, какие блокировки у них есть и какие необходимы, и какую транзакцию InnoDB было решено откатить, чтобы разорвать тупик. Режимы блокировок, указанные в этом разделе, объяснены в Разделе 17.7.1, «Блокировки InnoDB».

  • TRANSACTIONS

    Если в этом разделе указаны ожидания блокировок, в ваших приложениях может возникнуть конкуренция за блокировки. Вывод также может помочь проследить причины тупиков транзакций.

  • FILE I/O

    Этот раздел предоставляет информацию о потоках, которые InnoDB использует для выполнения различных типов ввода-вывода. Первые несколько из них предназначены для общего InnoDB обработки. Содержимое также отображает информацию о запланированных операциях ввода-вывода и статистику производительности ввода-вывода.

    Количество этих потоков управляется параметрами innodb_read_io_threads и innodb_write_io_threads. См. Раздел 17.14, «Параметры запуска и системные переменные InnoDB».

  • INSERT BUFFER AND ADAPTIVE HASH INDEX

    В этом разделе отображается состояние буфера вставки InnoDB (также называемого) и адаптивного индекса хеширования.

    Для получения дополнительной информации см. Раздел 17.5.2, «Буфер изменений» и Раздел 17.5.3, «Адаптивный индекс хеширования».

  • LOG

    В этом разделе отображается информация о журнале InnoDB. Содержимое включает в себя текущее число последовательности журнала, до какой точки журнал был сброшен на диск и позицию, в которой InnoDB выполнил последнюю контрольную точку. (См. Раздел 17.11.3, «Контрольные точки InnoDB».) Раздел также отображает информацию о запланированных операциях записи и статистику производительности записи.

  • BUFFER POOL AND MEMORY

    В этом разделе представлена статистика о чтении и записи страниц. По этим числам можно рассчитать, сколько операций ввода-вывода с файлами данных в настоящее время выполняют ваши запросы.

    Для описаний статистики буфера пула обратитесь к Мониторинг буфера пула с помощью монитора InnoDB по умолчанию. Дополнительную информацию об использовании буфера пула см. в Разделе 17.5.1, «Буфер пула».

  • ROW OPERATIONS

    Этот раздел показывает, что делает основной поток, включая количество и скорость выполнения каждого типа операций с записями.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/innodb-standard-monitor.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API