21.6.3.3 Использование CLUSTERLOG STATISTICS в клиенте управления NDB Cluster
Клиент управления NDB с помощью команды CLUSTERLOG STATISTICS может предоставлять ряд полезных статистических данных в своём выводе. Счётчики, предоставляющие информацию о состоянии кластера, обновляются каждые 5 секунд координатором транзакций (TC) и локальным обработчиком запросов (LQH) и записываются в журнал кластера.
Статистика координатора транзакций. Каждая транзакция имеет одного координатора транзакций, который выбирается одним из следующих способов:
По круговому циклу
По близости связи
Путем предоставления подсказки размещения данных при запуске транзакции
Вы можете определить, какой метод выбора TC используется для транзакций, начатых с определённого узла SQL, используя системную переменную ndb_optimized_node_selection.
Все операции в рамках одной транзакции используют одного координатора транзакций, который отчитывается о следующей статистике:
-
Количество транзакций (Trans count). Это количество транзакций, начатых в последнем интервале с использованием данного TC в качестве координатора транзакций. Любая из этих транзакций может быть завершена, прервана или оставаться незавершенной в конце отчётного интервала.
ПримечаниеТранзакции не мигрируют между TC.
Количество успешных транзакций (Commit count). Это количество транзакций, использовавших данный TC как координатора транзакций, которые были успешно завершены в последнем отчётном интервале. Поскольку некоторые транзакции, завершённые в данном отчётном интервале, могут начаться в предыдущем отчётном интервале, возможно, что
Commit countбудет больше, чемTrans count.Количество операций чтения (Read count). Это количество операций чтения первичного ключа с использованием данного TC в качестве координатора транзакций, начатых в последнем отчётном интервале, включая простые операции чтения. Это количество также включает чтения, выполненные в рамках операций с уникальными индексами. Операция чтения уникального индекса генерирует 2 операции чтения первичного ключа — одну для скрытой таблицы уникального индекса и одну для таблицы, по которой выполняется чтение.
Количество простых операций чтения (Simple read count). Это количество простых операций чтения с использованием данного TC в качестве координатора транзакций, начатых в последнем отчётном интервале.
-
Количество операций записи (Write count). Это количество операций записи первичного ключа с использованием данного TC в качестве координатора транзакций, начатых в последнем отчётном интервале. Это включает все операции вставки, обновления, записи и удаления, а также записи, выполненные в рамках операций с уникальными индексами.
ПримечаниеОперация обновления уникального индекса может генерировать несколько операций чтения и записи PK в таблице индекса и в основной таблице.
-
AttrInfoCount. Это количество 32-битовых слов данных, полученных в последнем отчётном интервале для операций с первичным ключом с использованием данного TC в качестве координатора транзакций. Для чтений это пропорционально количеству запрашиваемых столбцов. Для вставок и обновлений это пропорционально количеству записанных столбцов и размеру их данных. Для операций удаления это обычно ноль.
Операции с уникальными индексами генерируют несколько операций PK, увеличивая это значение. Однако, слова данных, отправленные для описания самой операции PK и отправленной информации ключа, здесь не учитываются. Информация об атрибутах, отправленная для описания столбцов для чтения при сканировании или для описания ScanFilters, также не учитывается в
AttrInfoCount. -
Concurrent Operations (Одновременные операции). Это количество операций с первичным ключом или сканирования с использованием данного TC в качестве координатора транзакций, начатых в последнем отчётном интервале, но не завершённых. Операции увеличивают этот счётчик при запуске и уменьшают его при завершении; это происходит после успешного завершения транзакции. Некорректные операции чтения и записи, а также несостоявшиеся операции, уменьшают этот счётчик.
Максимальное значение, которое может принимать
Concurrent Operations, равно максимальному количеству операций, которые может поддерживать блок TC; в настоящее время это(2 * MaxNoOfConcurrentOperations) + 16 + MaxNoOfConcurrentTransactions. (Дополнительную информацию об этих параметрах конфигурации см. в разделе Параметры транзакций в Разделе 21.4.3.6, “Определение узлов данных NDB Cluster”.) Количество прерванных транзакций (Abort count). Это количество транзакций, использующих данный TC как координатор транзакций, которые были прерваны в последнем отчётном интервале. Так как некоторые транзакции, прерванные в последнем отчётном интервале, могли начаться в предыдущем,
Abort countиногда может быть больше, чемTrans count.Сканирования (Scans). Это количество сканирований таблиц с использованием данного TC как координатора транзакций, начатых в последнем отчётном интервале. Это не включает сканирования по диапазону (то есть упорядоченные сканирования индексов).
Сканирования по диапазону (Range scans). Это количество упорядоченных сканирований индексов с использованием данного TC как координатора транзакций, начатых в последнем отчётном интервале.
Локальные операции чтения (Local reads). Это количество операций чтения первичного ключа, выполненных с использованием координатора транзакций на узле, на котором также хранится основная репликация фрагмента записи. Это значение также может быть получено из счётчика
LOCAL_READSв таблицеndbinfo.counters.Локальные операции записи (Local writes). Это количество операций чтения первичного ключа, которые были выполнены с использованием координатора транзакций на узле, который также хранит первичную реплику фрагмента записи. Это значение также может быть получено из счётчика
LOCAL_WRITESв таблицеndbinfo.counters.
Статистика локального обработчика запросов (Operations). Один кластерный событие на блок локального обработчика запросов (то есть один на процесс узла данных). Операции записываются в LQH, где хранятся данные, над которыми они выполняются.
Одна транзакция может обработать данные, хранящиеся в нескольких блоках LQH.
Статистика Operations указывает количество локальных операций, выполненных данным блоком LQH в последнем отчётном интервале, и включает все типы операций чтения и записи (вставки, обновления, записи и удаления). Это также включает операции, используемые для репликации записей. Например, в кластере с двумя репликами фрагментов запись в первичную реплику фрагмента записывается в первичном LQH, а запись в резервную — в резервном LQH. Операции с уникальными ключами могут привести к нескольким локальным операциям; однако это не включает локальные операции, генерируемые в результате сканирования таблицы или упорядоченного сканирования индекса, которые не учитываются.
Статистика планировщика процессов. Помимо статистики, отчитываемой координатором транзакций и локальным обработчиком запросов, у каждого процесса ndbd есть планировщик, который также предоставляет полезные метрики, связанные с производительностью NDB Cluster. Этот планировщик работает в бесконечном цикле; во время каждого цикла планировщик выполняет следующие задачи:
Читает все входящие сообщения из сокетов в буфер задач.
Проверяет наличие сообщений с тайм-аутами, которые нужно выполнить; в случае необходимости добавляет их в буфер задач.
Выполняет (в цикле) все сообщения в буфере задач.
Отправляет все распределённые сообщения, сгенерированные при выполнении сообщений в буфере задач.
Ожидает новые входящие сообщения.
Статистика планировщика процессов включает в себя следующее:
Среднее значение счётчика циклов (Mean Loop Counter). Это количество циклов, выполненных на третьем шаге из предыдущего списка. Этот показатель увеличивается по мере улучшения использования буфера TCP/IP. Вы можете использовать его для мониторинга изменений производительности при добавлении новых процессов узлов данных.
Средний размер отправки и Средний размер приёма (Mean send size and Mean receive size). Эти статистические данные позволяют оценить эффективность соответственно записи и чтения между узлами. Значения даются в байтах. Более высокие значения означают меньшую стоимость на байт отправки или получения; максимальное значение составляет 64 КБ.
Для того, чтобы все статистические данные журнала кластера были записаны, вы можете использовать следующую команду в клиенте управления NDB:
ndb_mgm> ALL CLUSTERLOG STATISTICS=15
Установка порога для STATISTICS в значение 15 приводит к тому, что журнал кластера становится очень подробным и быстро увеличивается в размере, прямо пропорционально количеству узлов кластера и активности в NDB Cluster.
Дополнительную информацию о командах клиента управления NDB Cluster, связанных с журналированием и отчётами, см. в Разделе 21.6.3.1, “Команды управления журналированием NDB Cluster”.
© 2025 Oracle
Licensed under the GPLv2 License.