Redisのクラスタ化でパフォーマンスを試す

Redisのクラスタ化でパフォーマンスを試す
ChromecasrキャンペーンバナーPC ChromecasrキャンペーンバナーSP

ずっと試すつもりでいたけど出来なかったことです。
Redisのクラスタ化自体ではなくそのパフォーマンスの確認ですね。

概要

Redisを使う際にスケールアップだけでなく、スケールアウトも視野に入れておきたいので、おおよそでもパフォーマンスを掴んでおく。
詳細にベンチを取るのではなく、単一の構成とクラスタリングした時とで読み(hget)でどのくらい差がでるのか確認したい。

準備

環境は自宅のPCでメモリが32GBあるのでこれにubuntuをいれて4台VMを立ち上げて試す。

【構成】

単一マスター:
192.168.29.140:6379

クラスタ(オールマスター):
192.168.29.137:7000
192.168.29.138:7001
192.168.29.138:7002
※メモリは各4GB振った

【作成概要】

■単一マスター
これは普通にwgetでredis3.0.6を取得してインストール

■クラスタ
単一マスターと同様だが別途、クラスタ作成で使うスクリプト「redis-trib.rb」を稼働させるため、rubyとredis用のライブラリを別途インストールした

実施

1000万レコードで実施した(Redisのメモリは1.3GB程度だったため)
登録は今回あまり気にしていないが若干クラスタの方が遅いように思えた。

【ベンチマークツール】

redis-benchmarkを用いる。
以下のようなコマンドを実施

これを「単一マスター」と「クラスタ構成」両方で試したが特に大きな違いはなかった。
(約55000qps)
これ多分、クラスタ指定でアクセスしていないためではないかと推測した。

【スクリプトからのhget】

pythonでクラスタ用ライブラリがあったので、通常とクラスタ両方で実施した。

これで以下のような簡単なスクリプトで実施。

※rcはredisのコネクション

【結果】

単一マスター:約9100/qps
クラスタ:約8200/qps

やはりリダイレクトする分遅いのではないかと考えられる。

まとめ

単一とクラスタではパフォーマンスに差が出ると思っていたので、ある程度は想定通り。

あと、気をつけたいのは作成されたデータの肥大化でしょうか。

今回だとハッシュを用いてますが、一度作成されたら物理的にそこに蓄積されるため、単一のハッシュ自体が巨大だと注意が必要だなと思いました。

頭金9,500円は必要!?
オンラインショップなら0

  • 頭金なし
  • 営業トークなし
  • 待ち時間なし
  • 不要オプションなし
ドコモ公式ショップau公式ショップソフトバンク公式ショップおとくケータイ.netケータイ乗り換え.comSMARTPHONE STORE

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでもこちらから行うことが可能です。

あなたにおすすめ

仮想環境で『Ansible』を使ってサーバ構築... 最近、サーバ構築を実施する必要がありました。 まずは仮想環境を作り、サーバ構築を……と思ったのですが、私はインフラ周りの経験が浅く、色々困ったことが頻出してしまいました。 今回の記事では、私と同じような “サーバ構築ビギナー” ...
G Suiteの「Googleサイト」が意外にも使えるツールであった?... 今回ご紹介するのはGoogleの『G Suite』です。 えっ、いまさら『G Suite』!? なんて思われるかもしれません。 それもそのはず、『G Suite』は本日8月28日で、ベータ版提供開始から11年になるんですね。 ...
内線電話用の番号検索|Slack APPで作ってみた... ショーケース・ティービーではメール誤送信防止という観点から、社内連絡ではチャットツールを使用しています。 現在使用しているツールは「HipChat」。 <bitWave関連記事『情報漏えいしないための決定打!”Hip Chat”』>...
Amazon EC2|Red Hat Linux 7.3で“Muninインストール“や“パッケージ導... ナマステ~! 私はナラヤンです! 今回が初投稿になるのですが、実はこれまで何度か本bitWave上でも登場していました。 <bitWave関連記事『おもてなしの企業の社員が、ネパール人をおもてなししてみた!』> <bitWave関...