Data Cache の可観測性
以前のバージョンでは、Data Cache のパフォーマンス、使用状況、および健全性を監視するための豊富なメトリクスや効率的な方法がありませんでした。
v3.3 では、StarRocks は Data Cache の可観測性を向上させ、効率的な監視方法とより多くのメトリクスを提供しています。ユーザーは、データキャッシュのディスクとメモリの全体的な使用状況、および関連するメトリクスを確認でき、キャッシュ使用状況の監視が強化されます。
SQL コマンド
各 BE ノードの Data Cache の容量と使用状況を表示するために SQL コマンドを実行できます。
SHOW BACKENDS
DataCacheMetrics フィールドは、特定の BE 上の Data Cache の使用済みディスクとメモリスペースを記録します。
mysql> show backends\G
*************************** 1. row ***************************
BackendId: 10004
IP: XXX.XX.XX.XXX
HeartbeatPort: 4450
BePort: 4448
HttpPort: 4449
BrpcPort: 4451
LastStartTime: 2023-12-13 20:09:30
LastHeartbeat: 2023-12-13 20:10:43
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 48
DataUsedCapacity: 0.000 B
AvailCapacity: 280.103 GB
TotalCapacity: 1.968 TB
UsedPct: 86.10 %
MaxDiskUsedPct: 86.10 %
ErrMsg:
Version: datacache-heartbeat-c68caf7
Status: {"lastSuccessReportTabletsTime":"2023-12-13 20:10:38"}
DataTotalCapacity: 280.103 GB
DataUsedPct: 0.00 %
CpuCores: 104
NumRunningQueries: 0
MemUsedPct: 0.00 %
CpuUsedPct: 0.0 %
DataCacheMetrics: Status: Normal, DiskUsage: 0.00GB/2.00GB, MemUsage: 0.00GB/30.46GB
1 row in set (1.90 sec)
information_schema
information_schema の be_datacache_metrics ビューは、以下の Data Cache に関連する情報を記録します。
mysql> select * from information_schema.be_datacache_metrics;
+-------+--------+------------------+-----------------+-----------------+----------------+-----------------+----------------------------------------------------------------------------------------------+
| BE_ID | STATUS | DISK_QUOTA_BYTES | DISK_USED_BYTES | MEM_QUOTA_BYTES | MEM_USED_BYTES | META_USED_BYTES | DIR_SPACES |
+-------+--------+------------------+-----------------+-----------------+----------------+-----------------+----------------------------------------------------------------------------------------------+
| 10004 | Normal | 2147483648 | 0 | 32706263420 | 0 | 0 | [{"Path":"/home/disk1/datacache","QuotaBytes":2147483648}] |
+-------+--------+------------------+-----------------+-----------------+----------------+-----------------+----------------------------------------------------------------------------------------------+
1 row in set (5.41 sec)
BE_ID: BE IDSTATUS: BE のステータスDISK_QUOTA_BYTES: ユーザーが設定したディスクキャッシュ容量(バイト単位)DISK_USED_BYTES: 使用済みのディスクキャッシュスペース(バイト単位)MEM_QUOTA_BYTES: ユーザーが設定したメモリキャッシュ容量(バイト単位)MEM_USED_BYTES: 使用済みのメモリキャッシュスペース(バイト単位)META_USED_BYTES: メタデータをキャッシュするために使用されたスペースDIR_SPACES: キャッシュパスとそのキャッシュサイズ
API コール
v3.3.2 以降、StarRocks は異なるレベルでキャッシュの状態を反映するキャッシュメトリクスを取得するための 2 つの API を提供します。
/api/datacache/app_stat: クエリの実際のキャッシュヒット率を示し、Remote Read Bytes / (Remote Read Bytes + Data Cache Read Bytes)として計算されます。/api/datacache/stat: Data Cache の基礎的な実行状態を示します。このインターフェースは主に Data Cache のメンテナンスやボトルネックの特定に使用され、クエリの実際のヒット率を反映しません。一般ユーザーはこのインターフェースに注意を払う必要はありません。