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

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

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

ずっと試すつもりでいたけど出来なかったことです。
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

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

まとめ

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

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

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

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

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

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

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

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

あなたにおすすめ

LINEのMac専用アプリ|インストール・ログインから使い方まで解説... スマホを所持している方は、必ずダウンロード・インストールしていると言っても過言ではないコミュニケーションアプリ「LINE」。 その「LINE」にMac専用が存在することをご存知でしょうか? 仕事等でパソコンを利用している時に、並...
Macbook Proレビュー|iPhoneと相性抜群のハイスペックプロ向けPC... これまでMacBook Proを愛用してきたという人もいるかもしれません。 MacBook ProはハイスペックなノートPCなので、PCでハードな処理をするグラフィックデザイナーなどに人気です。 中にはこれからMacBook P...
高性能ノートパソコン紹介!デスクトップ並み最強スペックモデル... スマホとタブレットを中心に使う方が増えていますが、ゲームや動画編集などまだまだパソコンが必要な場面は多いですよね。 最近ではデスクトップ並の高性能なノートパソコンも増えた事で、今まで以上に選択肢が増えました。 そこで今回はデスク...
Macbook Airレビュー|iPhoneと相性抜群の高解像度ディスプレイPC... プライベートやビジネスでPCを使う人は多く、ノートPCを持ち運んで外出先で使うという人もいるかもしれません。 しかし、PCを購入する際には見るべきポイントが多く、どれを購入すればいいのか迷ってしまうこともあるでしょう。 そこで、...