4

セットアップ:同じマシン上で実行されているredisのマスターと4つのスレーブを持つredisのセットアップがあります。複数のインスタンスを使用する理由は-

  • ホットキーを避けるため
  • キーの数が約10kと少なかったため、メモリは制約ではありませんでした(特大のEC2マシンがあります)

リクエスト:クライアントリクエストごとにredisから約60件のgetリクエストを行います。60個のgetを4つのmgetsに統合します。すべてのリクエストに対して単一の接続を確立します(ランダムにピックアップされたスレーブの1つへ)。

質問

  • スレーブでレプリケートされたデータを使用してredisの複数のインスタンスを実行することは意味がありますか?
  • 私たちの場合、getsの代わりにmgetsを作成すると、すべてのインスタンスが同じマシン上にある場合に役立ちますか?
4

1 に答える 1

3
  • 同じマシンで複数のredisインスタンスを実行すると便利な場合があります。Redisはシングルスレッドであるため、マシンに複数のコアがある場合は、複数のインスタンスを使用することで、より多くのCPUパワーを得ることができます。Craigslistは、http://blog.zawodny.com/2011/02/26/redis-sharding-at-craigslist/に記載されているように、この構成で実行されます。

  • mgetとgetは、60ではなくredisサーバーへのラウンドトリップが4回しかないため、スループットが向上するため、役立つはずです。同じマシンで複数のインスタンスを実行しても、それは変わりません。

于 2013-02-19T16:52:20.887 に答える