Spec-Zone .ru
спецификации, руководства, описания, API
|
Много типов статистических счетчиков, касающихся действий, выполняемых или влияние Ndb
NDBCLUSTER
. Счетчики постепенно увеличиваются в ядре NDB всякий раз, когда вызовы
API NDB делаются, или данные отправляются или получаются по условию узлы. mysqld представляет эти счетчики как системные переменные
состояния; их значения могут быть считаны в выводе SHOW STATUS
, или запрашивая INFORMATION_SCHEMA.SESSION_STATUS
или INFORMATION_SCHEMA.GLOBAL_STATUS
таблица. Сравнивая значения прежде и после
операторов, работающих на NDB
таблицы, можно наблюдать соответствующие действия, взятые уровень API, и таким образом стоимость выполнения
оператора.
Можно перечислить все эти переменные состояния, используя следующий SHOW STATUS
оператор:
mysql> SHOW STATUS LIKE 'ndb_api%';
+--------------------------------------------+----------+| Variable_name | Value |+--------------------------------------------+----------+| Ndb_api_wait_exec_complete_count_session | 0 || Ndb_api_wait_scan_result_count_session | 0 || Ndb_api_wait_meta_request_count_session | 0 || Ndb_api_wait_nanos_count_session | 0 || Ndb_api_bytes_sent_count_session | 0 || Ndb_api_bytes_received_count_session | 0 || Ndb_api_trans_start_count_session | 0 || Ndb_api_trans_commit_count_session | 0 || Ndb_api_trans_abort_count_session | 0 || Ndb_api_trans_close_count_session | 0 || Ndb_api_pk_op_count_session | 0 || Ndb_api_uk_op_count_session | 0 || Ndb_api_table_scan_count_session | 0 || Ndb_api_range_scan_count_session | 0 || Ndb_api_pruned_scan_count_session | 0 || Ndb_api_scan_batch_count_session | 0 || Ndb_api_read_row_count_session | 0 || Ndb_api_trans_local_read_row_count_session | 0 || Ndb_api_event_data_count_injector | 0 || Ndb_api_event_nondata_count_injector | 0 || Ndb_api_event_bytes_count_injector | 0 || Ndb_api_wait_exec_complete_count_slave | 0 || Ndb_api_wait_scan_result_count_slave | 0 || Ndb_api_wait_meta_request_count_slave | 0 || Ndb_api_wait_nanos_count_slave | 0 || Ndb_api_bytes_sent_count_slave | 0 || Ndb_api_bytes_received_count_slave | 0 || Ndb_api_trans_start_count_slave | 0 || Ndb_api_trans_commit_count_slave | 0 || Ndb_api_trans_abort_count_slave | 0 || Ndb_api_trans_close_count_slave | 0 || Ndb_api_pk_op_count_slave | 0 || Ndb_api_uk_op_count_slave | 0 || Ndb_api_table_scan_count_slave | 0 || Ndb_api_range_scan_count_slave | 0 || Ndb_api_pruned_scan_count_slave | 0 || Ndb_api_scan_batch_count_slave | 0 || Ndb_api_read_row_count_slave | 0 || Ndb_api_trans_local_read_row_count_slave | 0 || Ndb_api_wait_exec_complete_count | 2 || Ndb_api_wait_scan_result_count | 3 || Ndb_api_wait_meta_request_count | 27 || Ndb_api_wait_nanos_count | 45612023 || Ndb_api_bytes_sent_count | 992 || Ndb_api_bytes_received_count | 9640 || Ndb_api_trans_start_count | 2 || Ndb_api_trans_commit_count | 1 || Ndb_api_trans_abort_count | 0 || Ndb_api_trans_close_count | 2 || Ndb_api_pk_op_count | 1 || Ndb_api_uk_op_count | 0 || Ndb_api_table_scan_count | 1 || Ndb_api_range_scan_count | 0 || Ndb_api_pruned_scan_count | 0 || Ndb_api_scan_batch_count | 0 || Ndb_api_read_row_count | 1 || Ndb_api_trans_local_read_row_count | 1 || Ndb_api_event_data_count | 0 || Ndb_api_event_nondata_count | 0 || Ndb_api_event_bytes_count | 0 |+--------------------------------------------+----------+60 rows in set (0.02 sec)
Эти переменные состояния также доступны от SESSION_STATUS
и GLOBAL_STATUS
таблицы INFORMATION_SCHEMA
база
данных, как показано здесь:
mysql>SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
->WHERE VARIABLE_NAME LIKE 'ndb_api%';
+--------------------------------------------+----------------+| VARIABLE_NAME | VARIABLE_VALUE |+--------------------------------------------+----------------+| NDB_API_WAIT_EXEC_COMPLETE_COUNT_SESSION | 2 || NDB_API_WAIT_SCAN_RESULT_COUNT_SESSION | 0 || NDB_API_WAIT_META_REQUEST_COUNT_SESSION | 1 || NDB_API_WAIT_NANOS_COUNT_SESSION | 8144375 || NDB_API_BYTES_SENT_COUNT_SESSION | 68 || NDB_API_BYTES_RECEIVED_COUNT_SESSION | 84 || NDB_API_TRANS_START_COUNT_SESSION | 1 || NDB_API_TRANS_COMMIT_COUNT_SESSION | 1 || NDB_API_TRANS_ABORT_COUNT_SESSION | 0 || NDB_API_TRANS_CLOSE_COUNT_SESSION | 1 || NDB_API_PK_OP_COUNT_SESSION | 1 || NDB_API_UK_OP_COUNT_SESSION | 0 || NDB_API_TABLE_SCAN_COUNT_SESSION | 0 || NDB_API_RANGE_SCAN_COUNT_SESSION | 0 || NDB_API_PRUNED_SCAN_COUNT_SESSION | 0 || NDB_API_SCAN_BATCH_COUNT_SESSION | 0 || NDB_API_READ_ROW_COUNT_SESSION | 1 || NDB_API_TRANS_LOCAL_READ_ROW_COUNT_SESSION | 1 || NDB_API_EVENT_DATA_COUNT_INJECTOR | 0 || NDB_API_EVENT_NONDATA_COUNT_INJECTOR | 0 || NDB_API_EVENT_BYTES_COUNT_INJECTOR | 0 || NDB_API_WAIT_EXEC_COMPLETE_COUNT_SLAVE | 0 || NDB_API_WAIT_SCAN_RESULT_COUNT_SLAVE | 0 || NDB_API_WAIT_META_REQUEST_COUNT_SLAVE | 0 || NDB_API_WAIT_NANOS_COUNT_SLAVE | 0 || NDB_API_BYTES_SENT_COUNT_SLAVE | 0 || NDB_API_BYTES_RECEIVED_COUNT_SLAVE | 0 || NDB_API_TRANS_START_COUNT_SLAVE | 0 || NDB_API_TRANS_COMMIT_COUNT_SLAVE | 0 || NDB_API_TRANS_ABORT_COUNT_SLAVE | 0 || NDB_API_TRANS_CLOSE_COUNT_SLAVE | 0 || NDB_API_PK_OP_COUNT_SLAVE | 0 || NDB_API_UK_OP_COUNT_SLAVE | 0 || NDB_API_TABLE_SCAN_COUNT_SLAVE | 0 || NDB_API_RANGE_SCAN_COUNT_SLAVE | 0 || NDB_API_PRUNED_SCAN_COUNT_SLAVE | 0 || NDB_API_SCAN_BATCH_COUNT_SLAVE | 0 || NDB_API_READ_ROW_COUNT_SLAVE | 0 || NDB_API_TRANS_LOCAL_READ_ROW_COUNT_SLAVE | 0 || NDB_API_WAIT_EXEC_COMPLETE_COUNT | 4 || NDB_API_WAIT_SCAN_RESULT_COUNT | 3 || NDB_API_WAIT_META_REQUEST_COUNT | 28 || NDB_API_WAIT_NANOS_COUNT | 53756398 || NDB_API_BYTES_SENT_COUNT | 1060 || NDB_API_BYTES_RECEIVED_COUNT | 9724 || NDB_API_TRANS_START_COUNT | 3 || NDB_API_TRANS_COMMIT_COUNT | 2 || NDB_API_TRANS_ABORT_COUNT | 0 || NDB_API_TRANS_CLOSE_COUNT | 3 || NDB_API_PK_OP_COUNT | 2 || NDB_API_UK_OP_COUNT | 0 || NDB_API_TABLE_SCAN_COUNT | 1 || NDB_API_RANGE_SCAN_COUNT | 0 || NDB_API_PRUNED_SCAN_COUNT | 0 || NDB_API_SCAN_BATCH_COUNT | 0 || NDB_API_READ_ROW_COUNT | 2 || NDB_API_TRANS_LOCAL_READ_ROW_COUNT | 2 || NDB_API_EVENT_DATA_COUNT | 0 || NDB_API_EVENT_NONDATA_COUNT | 0 || NDB_API_EVENT_BYTES_COUNT | 0 |+--------------------------------------------+----------------+60 rows in set (0.00 sec)mysql>SELECT * FROM INFORMATION_SCHEMA.GLOBAL_STATUS
->WHERE VARIABLE_NAME LIKE 'ndb_api%';
+--------------------------------------------+----------------+| VARIABLE_NAME | VARIABLE_VALUE |+--------------------------------------------+----------------+| NDB_API_WAIT_EXEC_COMPLETE_COUNT_SESSION | 2 || NDB_API_WAIT_SCAN_RESULT_COUNT_SESSION | 0 || NDB_API_WAIT_META_REQUEST_COUNT_SESSION | 1 || NDB_API_WAIT_NANOS_COUNT_SESSION | 8144375 || NDB_API_BYTES_SENT_COUNT_SESSION | 68 || NDB_API_BYTES_RECEIVED_COUNT_SESSION | 84 || NDB_API_TRANS_START_COUNT_SESSION | 1 || NDB_API_TRANS_COMMIT_COUNT_SESSION | 1 || NDB_API_TRANS_ABORT_COUNT_SESSION | 0 || NDB_API_TRANS_CLOSE_COUNT_SESSION | 1 || NDB_API_PK_OP_COUNT_SESSION | 1 || NDB_API_UK_OP_COUNT_SESSION | 0 || NDB_API_TABLE_SCAN_COUNT_SESSION | 0 || NDB_API_RANGE_SCAN_COUNT_SESSION | 0 || NDB_API_PRUNED_SCAN_COUNT_SESSION | 0 || NDB_API_SCAN_BATCH_COUNT_SESSION | 0 || NDB_API_READ_ROW_COUNT_SESSION | 1 || NDB_API_TRANS_LOCAL_READ_ROW_COUNT_SESSION | 1 || NDB_API_EVENT_DATA_COUNT_INJECTOR | 0 || NDB_API_EVENT_NONDATA_COUNT_INJECTOR | 0 || NDB_API_EVENT_BYTES_COUNT_INJECTOR | 0 || NDB_API_WAIT_EXEC_COMPLETE_COUNT_SLAVE | 0 || NDB_API_WAIT_SCAN_RESULT_COUNT_SLAVE | 0 || NDB_API_WAIT_META_REQUEST_COUNT_SLAVE | 0 || NDB_API_WAIT_NANOS_COUNT_SLAVE | 0 || NDB_API_BYTES_SENT_COUNT_SLAVE | 0 || NDB_API_BYTES_RECEIVED_COUNT_SLAVE | 0 || NDB_API_TRANS_START_COUNT_SLAVE | 0 || NDB_API_TRANS_COMMIT_COUNT_SLAVE | 0 || NDB_API_TRANS_ABORT_COUNT_SLAVE | 0 || NDB_API_TRANS_CLOSE_COUNT_SLAVE | 0 || NDB_API_PK_OP_COUNT_SLAVE | 0 || NDB_API_UK_OP_COUNT_SLAVE | 0 || NDB_API_TABLE_SCAN_COUNT_SLAVE | 0 || NDB_API_RANGE_SCAN_COUNT_SLAVE | 0 || NDB_API_PRUNED_SCAN_COUNT_SLAVE | 0 || NDB_API_SCAN_BATCH_COUNT_SLAVE | 0 || NDB_API_READ_ROW_COUNT_SLAVE | 0 || NDB_API_TRANS_LOCAL_READ_ROW_COUNT_SLAVE | 0 || NDB_API_WAIT_EXEC_COMPLETE_COUNT | 4 || NDB_API_WAIT_SCAN_RESULT_COUNT | 3 || NDB_API_WAIT_META_REQUEST_COUNT | 28 || NDB_API_WAIT_NANOS_COUNT | 53756398 || NDB_API_BYTES_SENT_COUNT | 1060 || NDB_API_BYTES_RECEIVED_COUNT | 9724 || NDB_API_TRANS_START_COUNT | 3 || NDB_API_TRANS_COMMIT_COUNT | 2 || NDB_API_TRANS_ABORT_COUNT | 0 || NDB_API_TRANS_CLOSE_COUNT | 3 || NDB_API_PK_OP_COUNT | 2 || NDB_API_UK_OP_COUNT | 0 || NDB_API_TABLE_SCAN_COUNT | 1 || NDB_API_RANGE_SCAN_COUNT | 0 || NDB_API_PRUNED_SCAN_COUNT | 0 || NDB_API_SCAN_BATCH_COUNT | 0 || NDB_API_READ_ROW_COUNT | 2 || NDB_API_TRANS_LOCAL_READ_ROW_COUNT | 2 || NDB_API_EVENT_DATA_COUNT | 0 || NDB_API_EVENT_NONDATA_COUNT | 0 || NDB_API_EVENT_BYTES_COUNT | 0 |+--------------------------------------------+----------------+60 rows in set (0.00 sec)
Каждый Ndb
Ndb
Ndb
Ndb_cluster_connection
Представляются четыре набора этих счетчиков. Один набор применяется к текущему сеансу только; другие 3 являются
глобальной переменной. Это - то, несмотря на то, что их значения могут быть получены
или как сеанс или как глобальные переменные состояния в mysql клиенте. Это означает то определение
SESSION
или GLOBAL
ключевое слово с SHOW STATUS
не имеет никакого эффекта на значения, о которых сообщают для
переменных состояния статистики API NDB, и значение для каждой из этих переменных является тем же самым,
получается ли значение из эквивалентного столбца SESSION_STATUS
или GLOBAL_STATUS
таблица.
Счетчики сеанса (определенный сеанс)
Счетчики сеанса касаются Ndb
Чтобы минимизировать беспорядок со стандартными переменными сеанса MySQL, мы обращаемся к
переменным, которые соответствуют этим счетчикам сеанса API NDB как"_session
переменные",
с начальным символом подчеркивания.
Ведомые счетчики (глобальная переменная)
Этот набор счетчиков касается Ndb
NDB
таблицы, тогда все эти количества 0.
Мы обращаемся к связанным переменным состояния как"_slave
переменные" (с начальным
символом подчеркивания).
Счетчики инжектора (глобальная переменная)
Счетчики инжектора касаются Ndb
Мы обращаемся к переменным состояния, которые соответствуют счетчикам инжектора API NDB как"_injector
переменные"
(с начальным символом подчеркивания).
Сервер (Глобальные) счетчики (глобальная переменная)
Этот набор счетчиков касается всех Ndb
NDB
служебный поток.
Мы обращаемся к переменным состояния, которые соответствуют этим счетчикам как "глобальным переменным" или "mysqld-уровням переменным".
Можно получить значения для определенного набора переменных, дополнительно фильтруя для подстроки session
, slave
, или injector
в имени переменной (наряду с общим префиксом Ndb_api
). Для _session
переменные, это может быть
сделано как показано здесь:
mysql> SHOW STATUS LIKE
'ndb_api%session';
+--------------------------------------------+---------+| Variable_name | Value |+--------------------------------------------+---------+| Ndb_api_wait_exec_complete_count_session | 2 || Ndb_api_wait_scan_result_count_session | 0 || Ndb_api_wait_meta_request_count_session | 1 || Ndb_api_wait_nanos_count_session | 8144375 || Ndb_api_bytes_sent_count_session | 68 || Ndb_api_bytes_received_count_session | 84 || Ndb_api_trans_start_count_session | 1 || Ndb_api_trans_commit_count_session | 1 || Ndb_api_trans_abort_count_session | 0 || Ndb_api_trans_close_count_session | 1 || Ndb_api_pk_op_count_session | 1 || Ndb_api_uk_op_count_session | 0 || Ndb_api_table_scan_count_session | 0 || Ndb_api_range_scan_count_session | 0 || Ndb_api_pruned_scan_count_session | 0 || Ndb_api_scan_batch_count_session | 0 || Ndb_api_read_row_count_session | 1 || Ndb_api_trans_local_read_row_count_session | 1 |+--------------------------------------------+---------+18 rows in set (0.50 sec)
Чтобы получить перечисление API NDB mysqld-уровни
переменные состояния, фильтруйте для начинающихся имен переменной ndb_api
и
окончание в _count
, как это:
mysql>SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS
->WHERE VARIABLE_NAME LIKE 'ndb_api%count';
+------------------------------------+----------------+| VARIABLE_NAME | VARIABLE_VALUE |+------------------------------------+----------------+| NDB_API_WAIT_EXEC_COMPLETE_COUNT | 4 || NDB_API_WAIT_SCAN_RESULT_COUNT | 3 || NDB_API_WAIT_META_REQUEST_COUNT | 28 || NDB_API_WAIT_NANOS_COUNT | 53756398 || NDB_API_BYTES_SENT_COUNT | 1060 || NDB_API_BYTES_RECEIVED_COUNT | 9724 || NDB_API_TRANS_START_COUNT | 3 || NDB_API_TRANS_COMMIT_COUNT | 2 || NDB_API_TRANS_ABORT_COUNT | 0 || NDB_API_TRANS_CLOSE_COUNT | 3 || NDB_API_PK_OP_COUNT | 2 || NDB_API_UK_OP_COUNT | 0 || NDB_API_TABLE_SCAN_COUNT | 1 || NDB_API_RANGE_SCAN_COUNT | 0 || NDB_API_PRUNED_SCAN_COUNT | 0 || NDB_API_SCAN_BATCH_COUNT | 0 || NDB_API_READ_ROW_COUNT | 2 || NDB_API_TRANS_LOCAL_READ_ROW_COUNT | 2 || NDB_API_EVENT_DATA_COUNT | 0 || NDB_API_EVENT_NONDATA_COUNT | 0 || NDB_API_EVENT_BYTES_COUNT | 0 |+------------------------------------+----------------+21 rows in set (0.09 sec)
Не все счетчики отражаются во всех 4 наборах переменных состояния. Для счетчиков события DataEventsRecvdCount
,
NondataEventsRecvdCount
, и EventBytesRecvdCount
,
только _injector
и mysqld-уровни переменные состояния API NDB доступны:
mysql> SHOW STATUS LIKE
'ndb_api%event%';
+--------------------------------------+-------+| Variable_name | Value |+--------------------------------------+-------+| Ndb_api_event_data_count_injector | 0 || Ndb_api_event_nondata_count_injector | 0 || Ndb_api_event_bytes_count_injector | 0 || Ndb_api_event_data_count | 0 || Ndb_api_event_nondata_count | 0 || Ndb_api_event_bytes_count | 0 |+--------------------------------------+-------+6 rows in set (0.00 sec)
_injector
переменные состояния не реализуются ни для каких других счетчиков API NDB,
как показано здесь:
mysql> SHOW STATUS LIKE
'ndb_api%injector%';
+--------------------------------------+-------+| Variable_name | Value |+--------------------------------------+-------+| Ndb_api_event_data_count_injector | 0 || Ndb_api_event_nondata_count_injector | 0 || Ndb_api_event_bytes_count_injector | 0 |+--------------------------------------+-------+3 rows in set (0.00 sec)
Имена переменных состояния могут легко быть связаны с именами соответствующих счетчиков. Каждый счетчик статистики API NDB перечисляется в следующей таблице с описанием так же как именами любых переменных состояния сервера MySQL, соответствующих этому счетчику.
Встречное Имя | Описание |
---|---|
Переменные состояния (статистическим типом):
|
|
WaitExecCompleteCount |
Поток числа раз был блокирован, ожидая выполнения работы, чтобы завершиться. Включает все execute() |
WaitScanResultCount |
Поток числа раз был блокирован, ожидая основанного на сканировании сигнала, при таком ожидании дополнительных результатов, или scanto близко. |
WaitMetaRequestCount |
Поток числа раз был блокирован, ожидая основанного на метаданных сигнала; это может произойти, ожидая работы DDL orfor эпоха, которая будет запущена (или закончена). |
WaitNanosCount |
Полное время (в наносекундах) потраченный на ожидание некоторого типа сигнала fromthe узлы данных. |
BytesSentCount |
Объем данных (в байтах) отправленный узлам данных |
BytesRecvdCount |
Объем данных (в байтах) полученный от узлов данных |
TransStartCount |
Число транзакций запускалось. |
TransCommitCount |
Число транзакций фиксируется. |
TransAbortCount |
Число транзакций прерывалось. |
TransCloseCount |
Число транзакций прерывалось. (Это значение может быть больше чем сумма TransCommitCount
иTransAbortCount .)
|
PkOpCount |
Число операций, основанных на или использующий первичные ключи. Это количество включает табличные операции части блоба, неявные операции разблокирования, и автоинкрементные операции, так же как основной keyoperations, обычно видимый клиентам MySQL. |
UkOpCount |
Число операций, основанных на или использующий уникальные ключи. |
TableScanCount |
Число сканирований таблицы, которые были запущены. Это включает сканирования ofinternal таблицы. |
RangeScanCount |
Число сканирований диапазона, которые были запущены. |
PrunedScanCount |
Число сканирований, которые были сокращены к единственному разделу. |
ScanBatchCount |
Число пакетов строк получается. (Пакет в этом контексте является рядом следствий сканирования singlefragment.) |
ReadRowCount |
Общее количество строк, которые были считаны. Включает чтение строк usingprimary ключ, уникальный ключ, и операции сканирования. |
TransLocalReadRowCount |
Число то, строк, считанных из данных тот же самый узел, на который транзакция wasbeing выполненный. |
DataEventsRecvdCount |
Число строки изменяет полученные события. |
|
|
NondataEventsRecvdCount |
Число полученных событий, кроме строки изменяет события. |
|
|
EventBytesRecvdCount |
Число байтов событий получается. |
|
Не видеть все количества фиксировавших транзакций — то есть, все TransCommitCount
встречные переменные состояния — можно фильтровать результаты SHOW STATUS
для подстроки trans_commit_count
,
как это:
mysql> SHOW STATUS LIKE
'%trans_commit_count%';
+------------------------------------+-------+| Variable_name | Value |+------------------------------------+-------+| Ndb_api_trans_commit_count_session | 1 || Ndb_api_trans_commit_count_slave | 0 || Ndb_api_trans_commit_count | 2 |+------------------------------------+-------+3 rows in set (0.00 sec)
От этого можно решить, что 1 транзакция фиксировалась в токе mysql клиентский сеанс, и 2 транзакции фиксировались на этом mysqld, так как это было последнее перезапущенный.
Можно видеть, как различные счетчики API NDB постепенно увеличиваются данным SQL-оператором, сравнивая значения
соответствия _session
переменные состояния сразу прежде и после выполнения
оператора. В этом примере, после получения начальных значений от SHOW STATUS
, мы создаем в test
база данных NDB
таблица, названная t
, у этого есть единственный столбец:
mysql>SHOW STATUS LIKE 'ndb_api%session%';
+--------------------------------------------+--------+| Variable_name | Value |+--------------------------------------------+--------+| Ndb_api_wait_exec_complete_count_session | 2 || Ndb_api_wait_scan_result_count_session | 0 || Ndb_api_wait_meta_request_count_session | 3 || Ndb_api_wait_nanos_count_session | 820705 || Ndb_api_bytes_sent_count_session | 132 || Ndb_api_bytes_received_count_session | 372 || Ndb_api_trans_start_count_session | 1 || Ndb_api_trans_commit_count_session | 1 || Ndb_api_trans_abort_count_session | 0 || Ndb_api_trans_close_count_session | 1 || Ndb_api_pk_op_count_session | 1 || Ndb_api_uk_op_count_session | 0 || Ndb_api_table_scan_count_session | 0 || Ndb_api_range_scan_count_session | 0 || Ndb_api_pruned_scan_count_session | 0 || Ndb_api_scan_batch_count_session | 0 || Ndb_api_read_row_count_session | 1 || Ndb_api_trans_local_read_row_count_session | 1 |+--------------------------------------------+--------+18 rows in set (0.00 sec)mysql>USE test;
Database changedmysql>CREATE TABLE t (c INT) ENGINE NDBCLUSTER;
Query OK, 0 rows affected (0.85 sec)
Теперь можно выполнить новое SHOW
STATUS
оператор и наблюдает изменения, как показано здесь (с измененными строками, выделенными в
выводе):
mysql> SHOW STATUS LIKE 'ndb_api%session%';+--------------------------------------------+-----------+| Variable_name | Value |+--------------------------------------------+-----------+| Ndb_api_wait_exec_complete_count_session | 8 || Ndb_api_wait_scan_result_count_session | 0 || Ndb_api_wait_meta_request_count_session | 17 || Ndb_api_wait_nanos_count_session | 706871709 || Ndb_api_bytes_sent_count_session | 2376 || Ndb_api_bytes_received_count_session | 3844 || Ndb_api_trans_start_count_session | 4 || Ndb_api_trans_commit_count_session | 4 || Ndb_api_trans_abort_count_session | 0 || Ndb_api_trans_close_count_session | 4 || Ndb_api_pk_op_count_session | 6 || Ndb_api_uk_op_count_session | 0 || Ndb_api_table_scan_count_session | 0 || Ndb_api_range_scan_count_session | 0 || Ndb_api_pruned_scan_count_session | 0 || Ndb_api_scan_batch_count_session | 0 || Ndb_api_read_row_count_session | 2 || Ndb_api_trans_local_read_row_count_session | 1 |+--------------------------------------------+-----------+18 rows in set (0.00 sec)
Точно так же можно видеть изменения в счетчиках статистики API NDB, вызванных, вставляя строку в t
: Вставьте строку, затем выполните то же самое SHOW STATUS
оператор, используемый в предыдущем примере, как показано здесь:
mysql>INSERT INTO t VALUES (100);
Query OK, 1 row affected (0.00 sec)mysql>SHOW STATUS LIKE 'ndb_api%session%';
+--------------------------------------------+-----------+| Variable_name | Value |+--------------------------------------------+-----------+| Ndb_api_wait_exec_complete_count_session | 11 || Ndb_api_wait_scan_result_count_session | 6 || Ndb_api_wait_meta_request_count_session | 20 || Ndb_api_wait_nanos_count_session | 707370418 || Ndb_api_bytes_sent_count_session | 2724 || Ndb_api_bytes_received_count_session | 4116 || Ndb_api_trans_start_count_session | 7 || Ndb_api_trans_commit_count_session | 6 || Ndb_api_trans_abort_count_session | 0 || Ndb_api_trans_close_count_session | 7 || Ndb_api_pk_op_count_session | 8 || Ndb_api_uk_op_count_session | 0 || Ndb_api_table_scan_count_session | 1 || Ndb_api_range_scan_count_session | 0 || Ndb_api_pruned_scan_count_session | 0 || Ndb_api_scan_batch_count_session | 0 || Ndb_api_read_row_count_session | 3 || Ndb_api_trans_local_read_row_count_session | 2 |+--------------------------------------------+-----------+18 rows in set (0.00 sec)
Мы можем сделать много наблюдений из этих результатов:
Хотя мы создали t
без явного первичного ключа 5
операций первичного ключа выполнялись при этом (различие в "прежде"
и "после" значений Ndb_api_pk_op_count_session
, или 6 минус 1). Это отражает создание
скрытого первичного ключа, который является функцией всех таблиц, используя NDB
механизм хранения.
Сравнивая последовательные значения для Ndb_api_wait_nanos_count_session
, мы можем видеть что операции API NDB,
реализовывая CREATE TABLE
оператор ожидал намного дольше (706871709 - 820705 = 706051004 наносекунды, или приблизительно 0.7
секунды) для ответов от узлов данных чем выполняемые INSERT
(707370418 - 706871709 = 498709 нс или примерно.0005 секунд).
Времена выполнения, о которых сообщают для этих операторов в mysql клиенте, коррелируют примерно с этими числами.
На платформах с без достаточного (наносекунда) разрешение времени, небольшие изменения в значении
WaitNanosCount
API NDB противостоит из-за SQL-операторов, которые
выполняются, очень быстро, возможно, всегда не видимо в значениях Ndb_api_wait_nanos_count_session
, Ndb_api_wait_nanos_count_slave
, или Ndb_api_wait_nanos_count
.
INSERT
оператор, постепенно увеличенный оба ReadRowCount
и TransLocalReadRowCount
Счетчики статистики API NDB, как отражено
увеличенными значениями Ndb_api_read_row_count_session
и Ndb_api_trans_local_read_row_count_session
.