redisエージェントツールPredixyインストールの導入


Predixy
Predixyは、redis-sentinelとredis-clusterをサポートする高性能フルフィーチャーredisエージェントです.
とくせい
  • 高性能軽量級
  • はマルチスレッド
  • をサポートする
  • マルチプラットフォームサポート:Linux、OSX、BSD、Windows(Cygwin)
  • はRedis Centinelをサポートし、1組または複数組のredis
  • を構成することができる.
  • Redis Cluster
  • をサポート
  • は、blpop、brpop、brpoplpush
  • を含むredisブロック型コマンドをサポートする.
  • はscanコマンドをサポートし、単一のredisインスタンスでも複数のredisインスタンスでも
  • をサポートします.
  • マルチキーコマンドサポート:mset/msetnx/mget/del/unlink/touch/exists
  • はredisのマルチデータベースをサポートする、すなわちselectコマンド
  • を使用することができる.
  • はトランザクションをサポートし、現在はRedis Sentineの単一のredisグループに限定され、
  • を使用できます.
  • は、コマンド:script load、eval、evalsha
  • を含むスクリプトをサポートします.
  • は、Pub/subシリーズコマンド
  • であるサブスクリプションの発行メカニズムをサポートする.
  • マルチデータセンターサポート、読み書き分離サポート
  • 拡張AUTHコマンド、強力な読み取り、書き込み、管理権限制御メカニズム、健空間制限メカニズム
  • ログはレベル別にサンプリング出力可能であり、非同期ログ記録はスレッドがioによってブロックされることを避ける
  • である.
  • ログファイルは、時間、サイズによって
  • を自動的に分割できます.
  • 豊富な統計情報、CPU、メモリ、要求、応答などの情報
  • を含む.
  • 遅延監視情報は、全体的な遅延を見ることができ、バックエンドredisインスタンス遅延
  • である.
    predixyは速いですが、どのくらい速いですか?いくつかのポピュラーなredisエージェント(twemproxy,codis,redis-cerberus)と比較すると、predixyはそれらよりずっと速い.
    コンパイル
    Predixyはすべての主流のプラットフォームの下でコンパイルすることができて、linuxの下で使用することを推薦して、C++11のコンパイラをサポートする必要があります.
    コンパイルは非常に簡単で、git cloneコードをダウンロードしたりgit cloneコードをダウンロードしたりしてpredixyディレクトリに進み、直接実行します.まずコンパイル依存性を解決します.
    yum install libstdc++-static -y                 
       git clone https://github.com/joyieldInc/predixy.git  
    
    cd predixy/
    
    $ make

    コンパイル後、srcディレクトリに実行可能ファイルpredixyが生成されます.
    デバッグバージョンのコンパイル:
    $ make debug

    その他のコンパイルオプション:
  • CXX=ccompiler、cコンパイラを指定します.デフォルトはg++です.他のものとして指定できます.たとえば、CXX=clang++
  • EV=epoll|poll|kqueue、非同期ioモデルを指定します.デフォルトではプラットフォームに基づいて
  • を検出します.
  • MT=false、マルチスレッドサポート
  • をオフ
  • TS=true、開発モード
  • にのみ使用する関数呼び出し時間分析をオンにします.
    パラメータを使用してコンパイルする例:
    $ make CXX=clang++$ make EV=poll$ make MT=false$ make debug MT=false TS=true

    インストール
    簡単なのはsrc/predixyをターゲットパスにコピーすればいいだけです.
    $ cp src/predixy /usr/local/bin/
    
    $ mkdir   -p /var/log/predixy/

    predixyの構成はredisに似ています.具体的な構成項目の意味は構成ファイルに詳しく説明されています.以下の構成ファイルを参照してください.
  • predixy.conf、全体のプロファイルは、次のプロファイル
  • を参照します.
  • cluster.confは、Redis Clusterの場合、バックエンドredis情報
  • を構成する.
  • sentinel.confは、Redis Sentineに用いる場合、バックエンドredis情報
  • を構成する.
  • auth.conf、アクセス権限制御構成、複数の検証パスワードを定義することができ、各パスワードに読み取り、書き込み、管理権限を指定することができ、アクセス可能な健空間
  • を定義することができる.
  • dc.conf、マルチデータセンターサポート、読み書き分離規則を定義でき、読み書き流量重み割り当て
  • latency.conf,遅延モニタリングルール定義,モニタリングが必要なコマンドおよび遅延時間間隔
  • を指定できる.
    こんなに多くのプロファイルを提供するのは実際には機能別で、すべてのプロファイルは1つのファイルに書くことができます.また、複数のファイルに書いてメインプロファイルに参照することもできます.
    うんてん
    $ predixy /predixy/conf/predixy.conf

    デフォルトのプロファイルpredixyを使用します.conf,predixyはアドレス0.0.0.0:7617を傍受し,後端のredisはRedis Cluster 127.0.0.1:6379である.通常、127.0.0.1:6379はRedis Clusterモードで実行されるわけではありません.そのため、Predixyには多くのエラー・ログが出力されます.しかし、redis-cli接続predixyで試してみてください.
    $ redis-cli -p 7617 info

    前のコマンドを実行するとpredixy自身の情報が表示されます.127.0.0.1:6379が実行されている場合は、他のredisコマンドを試して、効果を見てみましょう.
    起動コマンドラインの詳細については、ヘルプを参照してください.
    $ src/predixy -h

    統計
    redisと同様にpredixyはINFOコマンドで統計を与える.
    redis-cli接続の下で次のコマンドを実行します.
    redis> INFO

    RedisがINFOコマンドを実行するような出力が表示されますが、ここではpredixyの統計です.
    benchmark構成詳細ドキュメント