MySQL指標
データベース指標(メトリクス)は、データベースの作業量とリソース使用量を包括的に収集します。WhaTapモニタリングサービスは持続的に指標を収集し、データベースのボトルネックを特定し、性能問題の根本原因を特定するのに役立つデータを提供します。
メトリクスに関する詳細については、次の文書を参照してください。
agent_status_summary
エージェントの状態に関するメトリクスを10秒間隔で収集したカテゴリです。
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| inActTime | - | ミリ秒(ms) | エージェントが無効になったままの時間 |
| isActive | Boolean | - | 現在のエージェントの活性化状態 |
| isRestart | Boolean | - | エージェントが最近再起動したかどうか (true / false) |
| lastActTime | - | ミリ秒(ms) | 最後にエージェントが活性化された状態の時刻 (0: 非活性化された場合) |
| oid | - | - | プロジェクトに含まれる各エージェントの固有の識別子 |
| startTime | - | ミリ秒(ms) | エージェントが開始された時点でのタイムスタンプ |
db_mysql_counter
Tags
db_mysql_counterカテゴリに収集されるタグ値の案内です。
| Tags | Description | Additional Info |
|---|---|---|
agentIp | エージェント別のIPアドレス | - |
dbIsMulti | Multitenant対応可否 | - |
dbName | データベース名 | - |
dbType | データベース種類 | - |
dbVersion | 利用中のデータベースのバージョン | - |
oname | エージェント名 | ユニーク値 |
Field
db_mysql_counterカテゴリに収集されるフィールド値の案内です。
| Metric | Category / Unit | Description |
|---|---|---|
| aborted_clients | Connection | 異常終了したクライアント接続の回数 |
| access_denied_errors | Connection | ログイン失敗回数 - 間違ったユーザー名/パスワード使用時に増加 |
| active_sessions | Connection | クエリを実行しているセッションの数 - threads_runningと同一 |
| active_transactions | Throughput | Active Transaction数 |
| bytes_received | Throughput / Byte | クライアントから受信した合計バイト数 - 値が高ければ書き込み作業中心サーバーと推定 |
| bytes_sent | Throughput / Byte | クライアントに送信した合計バイト数 - 値が高ければ読み取りジョブ中心サーバーと推定 - Questions、Uptimeとともに分析に有用 |
| com_commit | Throughput | COMMITコマンドを実行した回数 |
| com_delete | Throughput | DELETEコマンドを実行した回数 |
| com_insert | Throughput | INSERTコマンドを実行した回数 |
| com_rollback | Throughput | ROLLBACKコマンドを実行した回数 |
| com_select | Throughput | SELECTコマンドを実行した回数 |
| com_update | Throughput | UPDATEコマンドを実行した回数 |
| connections | Connection | クライアントがMySQLサーバーに接続を試みた回数 |
| created_tmp_disk_tables | Performance | ディスクに作成された一時テーブルの数 - ジョイン/ソート/グルーピング時のメモリ不足で発生 - tmp_table_size、max_heap_table_size調整を考慮 |
| created_tmp_files | Performance | 作成された一時ファイル数 |
| created_tmp_tables | Performance | サーバーによって生成された内部一時テーブル - UNION ALL、ORDER BY、GROUP BYなどで使用 - ディスク臨時テーブル比率 10%未満を推奨 |
| innodb_buffer_pool_pages_free | InnoDB | 全体バッファプールの未使用(使用可能な) ページ数 |
| innodb_buffer_pool_pages_total | InnoDB | 全体バッファプールのページ数 |
| innodb_buffer_pool_read_requests | InnoDB | バッファプールで読み込まれたページ数 - Buffer Hit Ratio = (1 - (innodb_buffer_pool_reads / innodb_buffer_pool_read_requests)) * 100 - 90% 以上を推奨、低ければinnodb_buffer_pool_sizeの増設を考慮 |
| innodb_buffer_pool_reads | InnoDB | ディスクから読み取ったページ数 - 値が高いとバッファプール的中率が低い |
| innodb_buffer_pool_wait_free | InnoDB | バッファプールで空のページがないため、ディスクフラッシュを待った回数 |
| innodb_log_waits | InnoDB | ログバッファがいっぱいでディスクの書き込みを待つ回数 - Redo log 경합 비율 = innodb_log_waits / innodb_log_writes - 1 未満を推奨し、値が高ければinnodb_log_buffer_sizeの増設を考慮 |
| innodb_rows_deleted | InnoDB | InnoDBテーブルから削除された行数 |
| innodb_rows_inserted | InnoDB | InnoDBテーブルに挿入された行数 |
| innodb_rows_read | InnoDB | SELECTで処理された行数 |
| innodb_rows_updated | InnoDB | InnoDBテーブルに更新された行数 |
| innodb_rows_writes | InnoDB | 書き込み処理された行数 - innodb_rows_inserted + innodb_rows_updated + innodb_rows_deleted |
| innodb_row_lock_time | InnoDB / ms | row lockの取得に掛かった合計時間(milliseconds) |
| innodb_row_lock_waits | InnoDB | row lockを待機した回数 - 値が急増するとクエリーチューニングが必要 |
| lock_wait_sessions | Performance | row lockを待機中のセッション数 - innodb_row_lock_current_waitsと同一 |
| max_connections | Connection | 最大同時クライアント接続回数 - コネクション数の不足時Too Many Connectionエラーが発生可能 |
| queries | Throughput | 全体実行されたSQL文の数 - Stored program内で実行されたstatement を含む |
| questions | Throughput | MySQLサーバーで実行したコマンドの数 - Stored program内で実行されたstatementを除く |
| replication_delay | Performance / sec | replication遅延時間 (秒) - Slave DBで測定される |
| select_full_join | Performance | インデックスを使用せずにfull joinが発生した回数 - 値が大きい場合はインデックス漏れの検討が必要 |
| select_scan | Performance | インデックスを使用せずにフルテーブルをスキャンした回数 - 実行計画でtype = ALLのクエリの点検が必要 |
| slow_queries | Performance | long_query_time以上かかったクエリ数 - 値が急増したらslow query log確認が必要 |
| sort_merge_passes | Performance | sort merge pass回数 - 値が高ければクエリー索引の改善またはsort_buffer_sizeの増設を考慮 |
| table_locks_waited | Performance | 他のロックがすでにそのテーブルを使用しているため、待った回数 - ロック待機率 = table_locks_waited / (table_locks_immediate + table_locks_waited) * 100 - 値が高い場合は、クエリ最適化とテーブル分割/複製を考慮 |
| table_open_cache_misses | Performance | テーブルを開こうと試みたがキャッシュになくて開いた回数 |
| threads_connected | Connection | 現在接続されているクライアント数 - 急に増加する場合は、コネクション漏れ有無の点検を推奨 |
| threads_running | Throughput | 現在実行中のスレッド数 - 持続的に高ければボトルネックの可能性がある |
| trx_rseg_history_len | Performance | Undoレコードストレージ使用量 - 増加し続けると性能低下の可能性がある |
| uptime | Performance | MySQLサーバー実行後の経過時間(秒) |
XOS関連メトリクス
XOSエージェントから収集されるメトリクスについての説明です。
| Metric | Unit | Description |
|---|---|---|
cpu(xos) | pct | CPU使用率cpu_user + cpu_sys + cpu_iowaitの合計 |
cpu_idle(xos) | pct | CPUが遊休状態の時間 |
cpu_iowait(xos) | pct | CPUがI/O作業を待機した時間 |
cpu_sys(xos) | pct | CPUがカーネルコードの実行に使用された時間 |
cpu_user(xos) | pct | CPUがユーザーコードの実行に使用された時間 |
disk_read_bytes(xos) | バイト | ディスクから読み取ったデータ量 |
disk_reads(xos) | block | ディスクで読み取られたブロック数 |
disk_write_bytes(xos) | バイト | ディスクに記録されたデータ量 |
disk_writes(xos) | block | ディスクに記録されたブロック数 |
mem(xos) | pct | メモリ使用率 |
mem_available(xos) | MB | 使用可能なメモリサイズ |
mem_buffcache(xos) | MB | buff/cache用途に使用中のメモリサイズ |
mem_free(xos) | MB | 使用していないメモリサイズ |
mem_swapfree(xos) | MB | 未使用のスワップ領域サイズ スワップはディスク領域を使用するため、使用時に性能が低下する可能性がある |
mem_swaptotal(xos) | MB | 全体スワップ(Swap)サイズ 物理メモリ不足時に使用 |
mem_total(xos) | MB | 全体メモリのサイズ |
mem_used(xos) | MB | 使用中のメモリサイズ |
net_recv_bytes(xos) | バイト | ネットワークから受信したデータ量 |
net_recv_packets(xos) | count | ネットワークから受信したパケット数 |
net_send_bytes(xos) | バイト | ネットワークで送信したデータ量 |
net_send_packets(xos) | count | ネットワークで送信したパケット数 |