25.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. (Дополнительную информацию об этих параметрах конфигурации см. в разделе Параметры транзакций в Разделе 25.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). Существует 1 событие кластера на блок локального обработчика запросов (то есть 1 на процесс узла данных). Операции записываются в 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, связанных с журналированием и отчётами, см. в Разделе 25.6.3.1, «Команды управления журналированием NDB Cluster».
© 2025 Oracle
Licensed under the GPLv2 License.