1

Redis アーキテクチャで非常に興味深いグラフを取得しています。

redis コマンド

  • 緑:マスター
  • 青:奴隷

マスター Redisは、スレーブ Redisよりも35% 多くのコマンドを実行しているようです。

いつも同じ距離ではありません。

以下は、アクティブな redis サーバーのログの一部です。

[26911] 14 Feb 13:28:44 - DB 0: 2399 keys (417 volatile) in 16384 slots HT.
[26911] 14 Feb 13:28:44 - DB 1: 498 keys (498 volatile) in 1024 slots HT.
[26911] 14 Feb 13:28:44 - DB 2: 1 keys (0 volatile) in 4 slots HT.
[26911] 14 Feb 13:28:44 - 706 clients connected (1 slaves), 33794240 bytes in use

そして同時に軟膏で:

[17748] 14 Feb 13:28:44 - DB 0: 2398 keys (417 volatile) in 16384 slots HT.
[17748] 14 Feb 13:28:44 - DB 1: 497 keys (497 volatile) in 1024 slots HT.
[17748] 14 Feb 13:28:44 - DB 2: 1 keys (0 volatile) in 4 slots HT.
[17748] 14 Feb 13:28:44 - 1 clients connected (0 slaves), 24839792 bytes in use

そのため、ほぼ 1:1 で同期しているように見えます。

このギャップの原因は何なのだろうか。また、最適化できる不要なコマンドが Redis に送信されていることを意味するかどうかを自問しています。

4

1 に答える 1

2

考えられる説明は次のとおりです。total_commands_processedすべてのコマンド、読み取り、書き込み、およびサーバー関連のコマンドを報告します。書き込みコマンドのみがスレーブに伝搬されます。

マスターにのみ書き込み、スレーブから読み取るセットアップでは、スレーブのほうが高くなりますtotal_commands_processed(すべての読み取り + すべての書き込み)。

マスターとの間で書き込みと読み取りを行い、スレーブをバックアップとしてのみ保持するか、ディスクに永続化する場合、マスターはより高いtotal_commands_processed.

実際、マスターとスレーブの の数が同じになることはほとんどありませんtotal_commands_processed

于 2012-02-14T16:58:29.160 に答える