CLIENT LISTコマンドを使用してクライアント接続情報を確認し、残留接続がないことを確認できます。Distributed Cacheは、Proxyパラメータlocal-client-listを設定することで、ProxyノードでCLIENT LISTコマンドを実行した際に返されるクライアント情報の範囲を制御することをサポートしています。パラメータ値 | コマンド動作 | 適用シナリオ | デフォルト適用インスタンス |
true | 現在接続中のProxyノードのクライアントリストのみを返し、パフォーマンスオーバーヘッドが低くなります。 | 日常的なクライアント接続の確認 | Proxy v5.8.25バージョン以降の新規購入インスタンスのデフォルト設定 |
false | Redis Pubsubメカニズムを通じて、インスタンス配下の全Proxyノードのクライアントリストを集約して返します(全量情報)。 | 全インスタンスの残留接続を調査するなどのシーン | 既存インスタンス(v5.8.24以前)のデフォルト設定 |
local-client-listをfalseに設定すると、CLIENT LISTコマンドはRedis Pubsubメカニズムを通じてインスタンス配下の全Proxyノードのクライアントリストを集約します。クライアント接続数が多いシナリオでは、この操作によりRedisのスロット0に対応するmasterノードの負荷が高くなり、トラフィック制限が発生しやすく、安定性にリスクがあります。業務の低ピーク時に慎重に使用し、確認完了後にパラメータをtrueに戻すことを推奨します。CLIENT LISTの全量集約を実行する必要がなく、インスタンスに追加の負荷をかけません。有効化方法については、Database Auditの有効化を参照してください。local-client-listパラメータ行を見つけ、現在の実行パラメータ値列で、パラメータ値にマウスを合わせ、
trueまたはfalseに変更します。具体的な変更方法については、インスタンスパラメータの管理を参照してください。
redis-cliを使用します:redis-cli -h <インスタンス接続アドレス> -p <ポート> -a <パスワード>
client listコマンドを実行すると、LocalClientListの設定に従って、対応する範囲のクライアント接続情報が返されます:<インスタンス接続アドレス>:<ポート>> client listid=7 addr=10.0.0.12:52140 fd=8 name= age=132 idle=5 flags=N db=0 cmd=client|listid=9 addr=10.0.0.15:51022 fd=9 name= age=60 idle=0 flags=N db=0 cmd=get
trueの場合:現在接続しているこのProxyノード上のクライアント接続のみが返されます。falseの場合:インスタンス配下のすべてのProxyノードのクライアント接続が返され、通常、返される件数はより多くなります。CLIENT LISTの各行は1つのクライアント接続に対応し、local-client-listは返却範囲にのみ影響し、各フィールドの意味は変更しません。接続を調査する際によく使用されるフィールドは以下の通りです。フィールド | 説明 |
id | クライアント接続の一意なID |
addr | クライアントのIPアドレスとポートです。接続元の特定に使用されます。 |
fd | クライアントに対応するファイル記述子 |
name | クライアント名( CLIENT SETNAMEで設定します。未設定の場合は空です) |
age | この接続が確立されてからの経過時間(単位:秒) |
idle | この接続のアイドル時間(単位:秒)です。長時間アイドル状態で無活動の接続の調査に使用できます。 |
cmd | この接続で最後に実行されたコマンド |
フィードバック