25.6.3.3 Использование CLUSTERLOG STATISTICS в клиенте управления кластером NDB
Клиент управления NDB может предоставлять ряд полезных статистических данных в своём выводе с помощью команды CLUSTERLOG STATISTICS. Счётчики, предоставляющие информацию о состоянии кластера, обновляются координатором транзакций (TC) и локальным обработчиком запросов (LQH) с интервалом в 5 секунд и записываются в журнал кластера.
Статистика координатора транзакций. Каждая транзакция имеет одного координатора транзакций, который выбирается одним из следующих способов:
В циклическом порядке
По близости связи
Указанием подсказки размещения данных при запуске транзакции
Вы можете определить, какой метод выбора 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”.) Количество прерванных транзакций (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. Этот планировщик работает в бесконечном цикле; во время каждого цикла планировщик выполняет следующие задачи:
Считывание любых входящих сообщений из сокетов в буфер задач.
Проверка наличия каких-либо временных сообщений для выполнения; в противном случае добавлять их в буфер задач.
Выполнение (в цикле) любых сообщений в буфере задач.
Отправка любых распределённых сообщений, сгенерированных в результате выполнения сообщений в буфере задач.
Ожидание любых новых входящих сообщений.
Статистика планировщика процессов включает следующее:
Средний счётчик циклов (Mean Loop Counter). Это количество циклов, выполненных на третьем шаге из предыдущего списка. Этот показатель увеличивается по мере улучшения использования буфера TCP/IP. Вы можете использовать его для отслеживания изменений производительности при добавлении новых процессов узлов данных.
Средний размер отправки и средний размер приёма (Mean send size and Mean receive size). Эти статистики позволяют оценить эффективность, соответственно, записи и чтения между узлами. Значения даны в байтах. Более высокие значения означают меньшие затраты на отправку или приём каждого байта; максимальное значение равно 64К.
Для записи всех статистических данных журнала кластера можно использовать следующую команду в клиенте управления кластером NDB:
ndb_mgm> ALL CLUSTERLOG STATISTICS=15
Установка порога для STATISTICS в значение 15 приводит к тому, что журнал кластера становится очень подробным и быстро увеличивается в размерах, прямо пропорционально количеству узлов кластера и активности в кластере NDB.
Дополнительную информацию о командах клиента управления кластером NDB, связанных с журналированием и отчётами, см. в Разделе 25.6.3.1, “Команды управления журналированием кластера NDB”.
© 2025 Oracle
Licensed under the GPLv2 License.