以下のステートメントを実行すると、分散計画のRPC実行数が均等かどうかを確認できます。
obclient> SELECT /*+ PARALLEL(15)*/
t2.zone,
t1.svr_ip,
COUNT(*) AS RPC_COUNT,
AVG(t1.elapsed_time),
AVG(t1.queue_time)
FROM oceanbase.GV$OB_SQL_AUDIT t1,
oceanbase.DBA_OB_SERVERS t2
WHERE t1.svr_ip = t2.svr_ip
AND t1.IS_EXECUTOR_RPC = 1
AND t1.tenant_id = 1001
AND t1.request_time > (time_to_usec(now()) - 1000000)
AND t1.request_time < time_to_usec(now())
GROUP BY t1.svr_ip
ORDER BY t2.zone;
実行結果は次のとおりです:
+--------+----------------+-----------+----------------------+--------------------+
| zone | svr_ip | RPC_COUNT | avg(t1.elapsed_time) | avg(t1.queue_time) |
+--------+----------------+-----------+----------------------+--------------------+
| ET2_1 | 10.1.1.1 | 2517 | 514.2241 | 13.5515 |
| ET2_1 | 10.1.1.2 | 2786 | 1628.0948 | 13.2915 |
| ET2_1 | 10.1.1.3 | 3068 | 1984.0238 | 12.9029 |
| ET2_1 | 10.1.1.4 | 3216 | 538.7646 | 12.8629 |
| ET2_1 | 10.1.1.5 | 2228 | 802.8577 | 13.4138 |
| EU13_2 | 10.1.1.6 | 2000 | 805.0485 | 13.0610 |
| EU13_2 | 10.1.1.7 | 3296 | 1115.0725 | 13.2700 |
| EU13_2 | 10.1.1.8 | 2460 | 1129.4085 | 14.3293 |
| EU13_2 | 10.1.1.9 | 2533 | 891.0683 | 13.8602 |
| EU13_3 | 10.1.1.10 | 3045 | 677.6591 | 13.7209 |
| EU13_3 | 10.1.1.11 | 2202 | 821.9496 | 12.8247 |
| EU13_3 | 10.1.1.12 | 2825 | 1277.0375 | 13.3345 |
| EU13_3 | 10.1.1.12 | 2142 | 746.0808 | 13.0121 |
| EU13_3 | 10.1.1.14 | 2735 | 765.8731 | 12.4750 |
+--------+----------------+-----------+----------------------+--------------------+