2017-07-19 8 views

答えて

0

Redisインスタンスに対して "client list"コマンドを実行すると、redisインスタンスに接続されているクライアントのリスト全体がIPアドレスとともに表示されるはずです。 Redisインスタンスへの接続数が最も多いクライアント(サービス)を確認できます。

+0

どのクライアントの接続数が最も多いかを確認するにはどうすればよいですか? – Maria

+0

このコマンドでは、IPアドレスと接続ごとの名前が表示されます。接続ごとにクライアント名を追加または追加することで、すべての接続に名前を付けることができます。この情報を集約して、どのIPアドレスまたはクライアントが最も接続しているかを調べる必要があります。 –

+0

IPアドレスから環境名を取得できますか? – Maria

0

あなたは、コマンド「クライアントリスト」を入力することができ、あなたはこれらのようなが表示されます:

id=39 addr=127.0.0.1:34706 fd=7 name= age=141156 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client 
id=78 addr=127.0.0.1:58014 fd=5 name= age=63779 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=llen 
id=80 addr=127.0.0.1:36826 fd=6 name= age=46776 idle=1685 flags=N db=1 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=del 

あなたの答えのために最も有用なキーが「年齢」& &「アイドル」、「年齢」であることを意味し接続の合計持続時間(秒単位)。「アイドル」は、この接続のアイドル時間を意味します。 (年齢 - アイドル)/年齢は、このクライアントが値を小さくするが、非常に正確ではない他のクライアントよりも多くのサーバーのCPUを使用します。

他のコマンドでも "INFO"や "MONITOR"のような提案ができます。 INFOは、メモリー使用量、処理されたコマンド、CPU使用率、接続されたクライアントなどのRedisサーバーに関する統計情報を提供します。詳細はthisを参照してください。

「MONITOR」は、現在の状況、実行されているコマンド、このコマンドを送信した人物をリアルタイムで表示します。おそらく、MONITOR出力を使ってすべてのクライアントリソースを計算することができます。

すべてのコマンドで、最初に解析し、コストを使用してクライアントのコスト合計を追加します。時間のかかる計算では、SETはO(1)、LrangeはO(N)です。しかし、これも非常に正確に行うのは難しいです。あなたには、いくつかの分析を行うために、このログを使用することができます

redis-cli monitor > redis-command.log 

:のようにしかし、あなたは、このコマンドを使用して、これをログに記録することができます。 MONITORコマンドを実行するとRedisサーバのスループットが低下することに注意してください。this

+0

ありがとうございます。もう1つ、IPアドレスから環境名を取得することは可能ですか?私はboto3を使用していますが、環境名を取得する方法を見つけることができません – Maria

関連する問題