redisプロファイルサンプル(二)


原文:https://raw.githubusercontent.com/antirez/redis/2.8/redis.conf
プライマリ・セカンダリ・バックアップ.slaveeofを使用して、別のRedisサーバのバックアップとしてRedisインスタンスを作成します.redisバックアップについてできるだけ早く理解できる新しいものがあります.1)redisバックアップは非同期ですが、プライマリ・ステーションが少なくとも指定された数のスレーブ・ステーションに接続されていない場合、プライマリ・ステーションは書き込みの受信を停止するように構成できます.2)同期リンクがしばらく失われた場合、redisスレーブ局はメイン局と部分的に同期することができる.バックアップ・ジョブの準備のサイズ(次のセクションを参照)を希望する値に設定したい場合があります.3)バックアップは自動的であり,ユーザの関心を必要としない.ネットワークが切断されると、スレーブ局は自動的にプライマリ局と再接続および同期します.
# slaveof <masterip> <masterport>

プライマリ・ステーションがパスワード保護を設定している場合(構成コマンド「requirepass」を使用して)、バックアップ同期プロセスを開始する前にセカンダリ・ステーションに認証を行うように伝えます.そうしないと、プライマリ・ステーションはセカンダリ・ステーションの要求を拒否します.
# masterauth <master-password>

スレーブ局がプライマリ局との接続を失ったり、プライマリ局と同期している場合、スレーブ局は次の2つの動作を行うことができます:1)slave-serve-stale-dataがyes(デフォルト)に設定されている場合、スレーブ局はクライアントの要求に応答し続け、データが古い可能性があります.最初に同期している場合、データセットは空になります.2)slave-serve_の場合stale-dataはnoに設定され、スレーブ局は(INFOとSLAVEOF)以外のすべてのコマンドに対して「マスタ局と同期中」を返します.
slave-serve-stale-data yes

局インスタンスから書き込み要求を受信するかどうかを構成できます.プライマリ・ステーションと同期した後にスレーブ・ステーションに書き込まれたデータが削除されるため、一時的なデータを格納するためにスレーブ・ステーションにデータを書き込むことが役立ちます.クライアントの書き込み操作が誤動作である可能性があるため、問題が発生する可能性があります.
redis 2から6バージョンから開始し、スレーブのデフォルトは読み取り専用です.
注意:読み取り専用スレーブ局の設計は、ネットワーク上の信頼されていないクライアントに露出するために使用されません.誤操作に対する保護にすぎません.デフォルトでは、CONFIG、DEBUGなどの管理コマンドは、読み取り専用スレーブで実行できます.rename-commandコマンドを使用して、管理または危険なすべてのコマンドを非表示にすることで、セキュリティを向上させることができます.
slave-read-only yes

バックアップ同期ポリシー:HDDかソケットか.
——————————————————-
警告:ハードディスク(HDD)のないバックアップは現在もテストフェーズで処理されています
——————————————————-
新しいスレーブ局と再接続後にバックアップを継続できないスレーブ局は、いわゆる「完全バックアップ」を行い、RDBファイルをプライマリ局からスレーブ局に転送する必要があります.この転送には、1)ハードディスクバックアップ:redisホスト局がRDBファイルをハードディスクに書き込むための新しいプロセスを作成する2つの方法があります.しばらくすると、親プロセスはファイルをスレーブ・ステーションに転送します.2)ハードディスクレスバックアップ:redisホストは新しいプロセスを作成し、サブプロセスはRDBファイルをスレーブのソケットに直接書き込み、ハードディスクを使用する必要はありません.ハードディスク(HDD)バックアップの場合、マスタ局のサブプロセスはRDBファイルを生成します.生成されると、複数のスレーブ局は、ホスト局のRDBファイルを使用するために直ちにキューに並べられることができる.ハードディスク(HDD)バックアップがない場合、1回のRDB転送が開始され、新しいスレーブが到着した後、新しい転送が開始されるまで、現在の転送が終了するのを待つ必要があります.ハードディスク(HDDなし)バックアップを使用すると、プライマリ・ステーションは転送開始の間(秒単位で構成可能)しばらく待機し、複数のサブステーションが到着した後にパラレル転送を待機します.ハードディスク(HDD)が低速でネットワークが高速(高帯域幅)の場合、ハードディスク(HDD)なしでバックアップするとより良いです.
repl-diskless-sync no

ハードディスク(HDD)レスバックアップが有効になっている場合、サーバはしばらく待ってからソケットを介してRDBファイルをスレーブ局に転送します.この待機時間は構成可能です.この点は、転送が開始されると、新たに到着したスレーブサービスを提供することはできないため、重要です.局からは次のRDB転送を待つために並んでいます.したがって、サーバは、より多くのスレーブが到着するのを待つ.遅延時間は秒単位で、デフォルトは5秒です.この機能をオフにするには、0秒に設定するだけで、転送はすぐに開始されます.
repl-diskless-sync-delay 5

局から予め設定された時間間隔でサーバにPINGを送信する.この間隔はrepl_ping_slave_periodオプションが変更されました.デフォルトは10秒です.
# repl-ping-slave-period 10

次のオプションでは、バックアップのタイムアウト時間を設定します.1)スレーブ・ステーションの観点から、同期中の一括転送のI/O 2)スレーブ・ステーションの観点から見たスレーブ・ステーション・タイムアウト(データ、ping)3)スレーブ・ステーションの観点から見たスレーブ・ステーション・タイムアウト(REPLCONF ACK pings)は、定義されたrepl-ping-slave-periodよりも大きい値であることを確認します.そうでなければ、マスタ局とスレーブ局との間の通信が低速になるたびにタイムアウトとして検出されます.
# repl-timeout 60

同期後にスレーブのTCPを無効にするかどうかNODELAY? yesを選択すると、redisは少量のTCPパケットと帯域幅を使用してスレーブ局にデータを送信します.しかし、これにより、局から少しデータを追加する遅延が発生します.linuxカーネルのデフォルト構成では、最大40ミリ秒の遅延があります.Noを選択すると、スレーブ・ステーションのデータ遅延はそれほど多くありませんが、バックアップに必要な帯域幅は比較的多いです.デフォルトでは潜在的な要因を最適化しますが、高負荷の場合やプライマリ・スレーブ・ステーションがジャンプしている場合、yesに切り替えるのは良いアイデアです.
repl-disable-tcp-nodelay no

バックアップの作業準備サイズを設定します.作業準備はバッファであり、局から一時的に切断された場合、局から記憶データを受信する代わりに、局から再接続する場合、通常は完全なバックアップを必要とせず、局から切断されたときに見逃したデータの一部を受信する部分同期だけでよい.作業準備が大きいほど、スレーブから切断でき、後で部分同期を実行できる切断時間が長くなります.スレーブ接続がある限り、すぐに作業備蓄が割り当てられます.
# repl-backlog-size 1mb

プライマリ・ステーションがスレーブ・ステーションに接続されていない時間があると、対応する作業準備が自動的に解放されます.次のオプションは、解放前に待機していた秒数を構成するために使用され、秒数は切断された瞬間から計算されます.値が0の場合は解放されません.
# repl-backlog-ttl 3600

スレーブ優先度は、redisのINFOコマンド出力から検出できる整数です.プライマリ・ステーションが正常に動作しない場合、redis sentinelはスレーブ・ステーションを選択し、プライマリ・ステーションに昇格させるために使用します.優先度の低いスレーブは、アップグレードに適していると考えられているため、3つのスレーブ優先度がそれぞれ10100,25の場合、sentinelは優先度が最も低いため、優先度が10のスレーブを選択します.ただし、優先度値が0のスレーブはプライマリ・ステーションの役割を実行できないため、優先度が0のスレーブはredis sentinelによって昇格しません.デフォルトの優先度は100です
slave-priority 100

マスタ局は、それに接続されたスレーブ局がN個未満であり、ヒステリシスがM秒未満である場合、書き込み要求の受信を停止することができる.N個のスレーブはオンライン状態でなければならない.遅延の秒数は、最後に受信したスレーブ局からのpingから計算される<=定義された値でなければならない.pingは通常毎秒1回です.このオプションでは、N個のバックアップが書き込み要求を受け入れることは保証されませんが、指定された秒数でスレーブ数が足りないため、書き込み操作が失われる場合に制限されます.少なくとも3つのスレーブが必要で、10秒未満の遅延が必要な場合は、次のように書きます.
# min-slaves-to-write 3
# min-slaves-max-lag 10

0に設定すると無効になります.デフォルトではdefault min-slaves-to-writeは0(無効)に設定され、min-slaves-max-lagは10に設定されています.