本記事では、現在のテナントのセッション数とODP上のすべてのネットワーク接続の内部プロパティ状態を確認する方法について説明します。
現在のテナントのセッション数とセッションIDを照会する
説明
このドキュメントでは、OceanBaseデータベースV4.3.0およびODP V4.2.3を例に、照会方法と出力情報について説明します。
ODPを使用してOceanBaseデータベースに接続します。ここでは、
root@sysユーザーへの接続を例にします。obclient -h10.10.10.1 -P2883 -uroot@sys -p -Doceanbase -ASHOW PROCESSLISTステートメントを使用して、現在のテナントのセッション数とセッションIDを照会します。obclient> SHOW PROCESSLIST;ODP構成パラメータ
client_session_id_versionの値によって、以下の2種類の出力結果があります。説明
client_session_id_version構成パラメータは、Client Session IDの生成に関する計算ロジックを設定するために使用されます。詳細については、client_session_id_version,推荐设置为2を参照してください。新しい計算ロジックを使用することで、Client Session IDのグローバル一意性を保証します。ODP構成パラメータ
client_session_id_versionが2に設定されている場合、ODPは新しい計算ロジックを使用してIDを生成し、Client Session IDのグローバル一意性を保証します。この場合、出力に表示されるのはテナントに対応するOBServerノード上のセッション情報です。クエリ結果は次のとおりです:+------------+---------+---------------------+-----------+---------+------+--------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------------+---------+---------------------+-----------+---------+------+--------+------------------+ | 1 | root | 10.10.10.1:39512 | oceanbase | Query | 0 | ACTIVE | SHOW PROCESSLIST | | 3221501386 | proxyro | 10.10.10.1:37728 | oceanbase | Sleep | 13 | SLEEP | NULL | +------------+---------+---------------------+-----------+---------+------+--------+------------------+各フィールドの意味は以下の表のとおりです:
フィールド フィールド Id セッションのIDを表します。これは cs idと同じです。User セッションが属するユーザーを表します。 Host セッションを開始したクライアントのIPアドレスとポート番号を表します。 db セッションが現在接続しているデータベース名を表します。Oracleモードでは、ユーザー名と同じ名前のスキーマ名として表示されます。 Command セッションが実行中のコマンドタイプを表します。 Time 現在のコマンド実行時間を秒単位で表します。コマンドがリトライされた場合、システムはゼロにリセットして再計算します。 State セッションの現在の状態を表します。 Info セッションが実行中のステートメントを表します。 ODP構成パラメータ
client_session_id_versionが1に設定されている場合、ODPは元の計算ロジックを使用してIDを生成します。この場合、出力に表示されるのは対応するODPノード上のセッション情報です。クエリ結果は次のとおりです:+------+--------+------+---------------------+-----------+-------------+-------------------+-------------------+-------+-------+ | Id | Tenant | User | Host | db | trans_count | svr_session_count | state | tid | pid | +------+--------+------+---------------------+-----------+-------------+-------------------+-------------------+-------+-------+ | 9 | sys | root | 10.10.10.1:17890 | oceanbase | 0 | 1 | MCS_ACTIVE_READER | 48243 | 48243 | +------+--------+------+---------------------+-----------+-------------+-------------------+-------------------+-------+-------+各フィールドの意味は以下の表のとおりです:
フィールド フィールド Id ODP内部で各クライアントセッション(Client Session)に付与される id番号、すなわちcs idTenant このセッションが属するテナントを表します User このセッションが属するユーザーを表します Host このセッションを開始したクライアントのIPアドレスとポート番号を表します db このセッションが現在接続しているデータベース名を表します。Oracleモードでは、ユーザー名と同じ名前のスキーマ名として表示されます trans_count このセッション内でODPが転送したトランザクション数を表します svr_session_count セッション数 state クライアントセッションの状態。以下のような状態があります: - MCS_INIT(初期化)
- MCS_ACTIVE_READER(アクティブ)
- MCS_KEEP_ALIVE(アローリング)
- MCS_HALF_CLOSE(ハーフクローズ)
- MCS.Closed(クローズ済み)
tid スレッドID pid プロセスID
ODP上のすべてのネットワーク接続の内部プロパティ状態を表示する
SHOW PROXYNET CONNECTION ステートメントを使用して、ODP上のすべてのネットワーク接続の内部プロパティ状態を表示します。
SHOW PROXYNET CONNECTION [thread_id [LIMIT xx]]
パラメータの説明:
thread_idを指定しない場合、ODP上のすべてのネットワーク接続の内部プロパティ状態が表示されます。thread_idを指定した場合、指定されたスレッド上の接続状態が表示されます。LIMIT [offset,] rowsおよびLIMIT rows OFFSET offsetパラメータを指定でき、その形式はMySQLと完全に互換性があります。rows == -1の場合、すべての行が表示されます。
例:
obclient> SHOW PROXYNET CONNECTION\G
*************************** 1. row ***************************
thread_id: 0
connect_id: 1
socket_fd: 4
type: inner connected
src_ip: XXX.XXX.XXX.XXX
src_port: 43051
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13203
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 2864
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 28800
timeout_close_in(sec): 28791
last_error_no: 0
shutdown: 0
comments: not closed
*************************** 2. row ***************************
thread_id: 0
connect_id: 3
socket_fd: 24
type: accepted
src_ip: XXX.XXX.XXX.XXX
src_port: 48292
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13205
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 1214
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 30
timeout_close_in(sec): 29
last_error_no: 0
shutdown: 0
comments: not closed
*************************** 3. row ***************************
thread_id: 0
connect_id: 4
socket_fd: 28
type: connected
src_ip: XXX.XXX.XXX.XXX
src_port: 43154
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13203
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 1214
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 28800
timeout_close_in(sec): 28788
last_error_no: 0
shutdown: 0
comments: not closed
*************************** 4. row ***************************
thread_id: 1
connect_id: 5
socket_fd: 29
type: inner connected
src_ip: XXX.XXX.XXX.XXX
src_port: 43156
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13203
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 1194
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 28800
timeout_close_in(sec): 28791
last_error_no: 0
shutdown: 0
comments: not closed
*************************** 5. row ***************************
thread_id: 3
connect_id: 2
socket_fd: 25
type: inner connected
src_ip: XXX.XXX.XXX.XXX
src_port: 43052
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13203
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 2853
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 28800
timeout_close_in(sec): 28799
last_error_no: 0
shutdown: 0
comments: not closed
5 rows in set
obclient> SHOW PROXYNET CONNECTION 0\G
*************************** 1. row ***************************
thread_id: 0
connect_id: 1
socket_fd: 4
type: inner connected
src_ip: XXX.XXX.XXX.XXX
src_port: 43051
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13203
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 11958
write_ndone: 11958
alive_time(sec): 2919
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 30
timeout_close_in(sec): 30
last_error_no: 0
shutdown: 0
comments: not closed
*************************** 2. row ***************************
thread_id: 0
connect_id: 3
socket_fd: 24
type: accepted
src_ip: XXX.XXX.XXX.XXX
src_port: 48292
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13205
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 1269
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 30
timeout_close_in(sec): 29
last_error_no: 0
shutdown: 0
comments: not closed
*************************** 3. row ***************************
thread_id: 0
connect_id: 4
socket_fd: 28
type: connected
src_ip: XXX.XXX.XXX.XXX
src_port: 43154
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13203
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 1269
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 28800
timeout_close_in(sec): 28733
last_error_no: 0
shutdown: 0
comments: not closed
3 rows in set
obclient> SHOW PROXYNET CONNECTION 0 limit 2 offset 1\G
*************************** 1. row ***************************
thread_id: 0
connect_id: 3
socket_fd: 24
type: accepted
src_ip: XXX.XXX.XXX.XXX
src_port: 48292
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13205
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 1299
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 30
timeout_close_in(sec): 29
last_error_no: 0
shutdown: 0
comments: not closed
*************************** 2. row ***************************
thread_id: 0
connect_id: 4
socket_fd: 28
type: connected
src_ip: XXX.XXX.XXX.XXX
src_port: 43154
dst_ip: XXX.XXX.XXX.XXX
dst_port: 13203
virtual_ip: *Not IP address [0]*
virtual_port: 0
bind_style: any
read_enabled: 1
read_nbytes: 9223372036854775807
read_ndone: 0
write_enabled: 0
write_nbyte: 0
write_ndone: 0
alive_time(sec): 1299
activity_timeout_in(sec): 0
inactivity_timeout_in(sec): 28800
timeout_close_in(sec): 28703
last_error_no: 0
shutdown: 0
comments: not closed
2 rows in set
各フィールドの意味は以下の表のとおりです:
| フィールド | フィールド |
|---|---|
| thread_id | スレッドID |
| connect_id | ネットワーク接続ID |
| socket_fd | ソケット記述子 |
| type | 接続状態 |
| src_ip | ソースIP |
| src_port | ソースポート |
| dst_ip | デスティネーションIP |
| dst_port | デスティネーションポート |
| virtual_ip | 仮想IP |
| virtual_port | 仮想ポート |
| bind_style | バインドタイプ |
| read_enabled | 読み取り可能か |
| read_nbytes | 読み取るデータバイト数 |
| read_ndone | 読み取ったデータバイト数 |
| write_enabled | 書き込み可能か |
| write_nbyte | 送信するデータバイト数 |
| write_ndone | 送信したデータバイト数 |
| alive_time(sec) | 生存時間 |
| activity_timeout_in(sec) | アクティブタイムアウト |
| inactivity_timeout_in(sec) | 不活性タイムアウト時間 |
| timeout_close_in(sec) | タイムアウトクローズ時間 |
| last_error_no | 最後のエラー番号 |
| shutdown | 切断されたネットワーク接続 |
| comments | コメント |