Redisシリーズ学習ノート17サーバ管理

3484 ワード

サーバ管理
コマンドとツール
接続が正常かどうかを確認
PINGコマンド
クライアントを使用してRedisサーバにPINGを送信します.クライアントとサーバの接続が正常で、サーバの動作も正常であれば、コマンドはPONGを返します.通常、ネットワーク接続とサーバのステータスをテストしたり、遅延値を測定したりします.
redis> PING
PONG
redis> PING
Could not connect to Redis at 127.0.0.1:6379: Connection refused

サーバ情報の表示
INFOコマンド
INFO [section]

Redisサーバの各種情報と統計値を表示します.オプションのsectionパラメータを指定することで、コマンドが返す情報の内容を指定できます.
redis> INFO

SECTIONパラメータの値

表示される情報
all
すべてのサーバ情報.
default(デフォルト)
デフォルトで選択されている、最も一般的で最も重要なサーバ情報.
server
バージョン番号、リスニングポート番号、サーバIDなど、サーバ自体の情報.
clients
接続されているクライアントの数、ブロックされているクライアントの数など、接続されているクライアントの情報.
memoery
メモリ使用量、使用するメモリディスペンサなどのメモリ情報.
persistence
RDB永続化が進行中かどうか、AOFファイルの書き換えが進行中かどうかなど、RDB永続化およびAOF永続化に関する情報.
stats
サーバの統計値(処理されたコマンドリクエストの数、秒ごとに処理されたコマンドリクエストの数など).
replication
サーバの役割、プライマリ・セカンダリ・サーバの接続状態が正常かどうかなど、プライマリ・セカンダリ・レプリケーションに関する情報.
cpu
サーバのシステムCPU占有量とユーザCPU占有量.
commandstats
コマンド実行の統計情報としては、コマンド実行回数、コマンド消費CPU時間、コマンド実行ごとの平均CPU時間などがある.
cluster
クラスタ機能に関する情報.
keyspace
データベースのキー数、データベースが削除された期限切れキー数など、データベースのキースペースに関する情報.
サーバーで実行中のコマンドの表示
MONITORコマンド
MONITOR
Redisサーバが受信したコマンドをリアルタイムで印刷し、「タイムスタンプ[データベース番号IPアドレスとポート番号]が実行されるコマンド」としてフォーマットします.
redis> MONITOR

遅いコマンドの実行が見つかりました
スロークエリ機能
Redisのスロー・クエリー機能は、指定された時間以上実行されたコマンドを記録し、記録されたコマンドをユーザーに表示するために使用され、ユーザーがスロー・コマンドを実行していることを発見し、的確な最適化を行うのに便利です.
スロー・クエリー機能は、次の2つの構成オプションで設定できます.
slowlog-log-slower-than [microseconds]
microsecondsマイクロ秒を超えるコマンドを実行すると記録され、この値を負数に設定するとスロークエリー機能がオフになります.既定値は1秒=1百万マイクロ秒のため10000、すなわち1/100秒です.
slowlog-max-len [length]
スロー・クエリー・ログの最大数.記録されたログがこの数を超えると、新しいログは古いログ(FIFO)を上書きします.既定値は128です.
SLOWLOG GET [number]
サーバが現在記録している遅いクエリー・ログを返します.オプションのnumberパラメータが指定されている場合、最大numberエントリログのみが返されます.そうでない場合は、すべての遅いクエリー・ログを返します.
サーバのロックとロック解除
requirepassオプションとAUTHコマンド
オプションrequirepass[password]を構成することで、ユーザーはサーバにパスワードを設定できます.
クライアントがパスワード付きサーバーに接続されている場合、AUTHコマンドを実行してロック解除する必要があります.そうしないと、このクライアントはAUTH以外のコマンドを実行できません.
たとえば、サーバの起動時にサーバにパスワードを設定した場合は、次のようにします.
$ redis-server --requirepass helloworld

サーバーを閉じる
shutdownコマンド
SHUTDOWN [option]

optionパラメータが指定されていない場合、サーバはまず永続化操作を実行します.
  • AOF永続化がオンの場合、fdatasyncが呼び出され、前に実行したコマンドがハードディスクに書き込まれることを確認します.
  • RDB永続化が開かれ、データベースが変更された場合、SAVEコマンドが実行される.以上の操作が完了すると、サーバは閉じます.

  • 永続化機能がオンの場合、SHUTDOWNコマンドを使用してサーバをシャットダウンしてもデータは失われません.
    optionオプションの値はsaveまたはnosaveです.
  • SHUTDOWN saveは、閉じる前に常にSAVEコマンドを実行し、RDB永続化が開かれていない場合にデータを保存するためにRDBファイルを作成する.
  • SHUTDOWN nosaveは、シャットダウンする前にSAVEコマンドを実行せず、データベースでエラーが発生した可能性がある場合に、誤ったデータをRDBファイルに保存しないようにします.

  • 既存のRedis管理ツール
    RedisLive、Redis-Commander、RedMon
    RedisLive
    Pythonで作成したRedisリアルタイム監視ツールを使用
    インストール方法と使用方法の説明:
    http://www.nkrode.com/article/real-time-dashboard-for-redis
    

    Redis Commander
    Node.js作成のRedis管理ツール
    現在、文字列、リスト、コレクション、および順序付きコレクションの追加のみがサポートされており、ハッシュおよびHyperLogの追加はサポートされていません.
    インストールと使用の概要:
    http://joeferner.github.io/redis-commander/
    

    起動後のアクセスhttp://localhost:8081/インタフェースが見えます.
    Redmon
    Ruby作成のRedis管理ツール
    既存のツールの欠点:
  • は強くない
  • 不安定
  • 現在、強力で安定したツールがオープンソースされていません.Redisを重度に使用している会社は、一般的に自分で管理ツールを構築します.