21.6.15.20 Таблица ndbinfo diskpagebuffer
Таблица diskpagebuffer предоставляет статистику использования буфера страниц диска NDB Cluster Disk Data таблиц.
Таблица diskpagebuffer содержит следующие столбцы:
-
node_idИдентификатор узла данных
-
block_instanceИнстанция блока
-
pages_writtenКоличество страниц, записанных на диск.
-
pages_written_lcpКоличество страниц, записанных локальными контрольными точками.
-
pages_readКоличество страниц, прочитанных с диска
-
log_waitsКоличество ожидающих записи страниц, пока журналы записываются на диск
-
page_requests_direct_returnКоличество запросов на страницы, которые были доступны в буфере
-
page_requests_wait_queueКоличество запросов, которые ожидали, пока страницы станут доступными в буфере
-
page_requests_wait_ioКоличество запросов, которые необходимо было считать со страниц на диске (страницы были недоступны в буфере)
Примечания
Вы можете использовать эту таблицу с NDB Cluster Disk Data таблицами, чтобы определить, достаточно ли DiskPageBufferMemory для чтения данных из буфера, а не с диска; минимизация обращений к диску может помочь повысить производительность таких таблиц.
Вы можете определить долю чтений из DiskPageBufferMemory по отношению к общему числу чтений, используя запрос, подобный этому, который получает это соотношение в процентах:
SELECT
node_id,
100 * page_requests_direct_return /
(page_requests_direct_return + page_requests_wait_io)
AS hit_ratio
FROM ndbinfo.diskpagebuffer;
Результат этого запроса должен быть похож на представленный ниже, с одной строкой для каждого узла данных в кластере (в этом примере кластер имеет 4 узла данных):
+---------+-----------+
| node_id | hit_ratio |
+---------+-----------+
| 5 | 97.6744 |
| 6 | 97.6879 |
| 7 | 98.1776 |
| 8 | 98.1343 |
+---------+-----------+
4 rows in set (0.00 sec)
Значения hit_ratio, приближающиеся к 100%, указывают на то, что очень мало чтений выполняется с диска, а не из буфера, что означает, что производительность чтения Disk Data приближается к оптимальному уровню. Если любое из этих значений меньше 95%, это явный признак того, что значение параметра DiskPageBufferMemory необходимо увеличить в файле config.ini.
Изменение значения DiskPageBufferMemory требует постепенной перезагрузки всех узлов данных кластера, прежде чем оно вступит в силу.
block_instance относится к экземпляру ядра блока. Вместе с именем блока это число можно использовать для поиска данного экземпляра в таблице threadblocks. Используя эту информацию, вы можете получить информацию о показателях буфера страниц диска, относящихся к отдельным потокам; пример запроса, использующего LIMIT 1 для ограничения вывода одним потоком, показан здесь:
mysql> SELECT
> node_id, thr_no, block_name, thread_name, pages_written,
> pages_written_lcp, pages_read, log_waits,
> page_requests_direct_return, page_requests_wait_queue,
> page_requests_wait_io
> FROM ndbinfo.diskpagebuffer
> INNER JOIN ndbinfo.threadblocks USING (node_id, block_instance)
> INNER JOIN ndbinfo.threads USING (node_id, thr_no)
> WHERE block_name = 'PGMAN' LIMIT 1\G
*************************** 1. row ***************************
node_id: 1
thr_no: 1
block_name: PGMAN
thread_name: rep
pages_written: 0
pages_written_lcp: 0
pages_read: 1
log_waits: 0
page_requests_direct_return: 4
page_requests_wait_queue: 0
page_requests_wait_io: 1
1 row in set (0.01 sec)
© 2025 Oracle
Licensed under the GPLv2 License.