LoginSignup
4
0

More than 5 years have passed since last update.

GoogleCloudPlatformのフルマネージドのredis、Memorystoreの性能をredis-benchmarkで計測してみる その②

Posted at

検証その②

この記事の続き

検証プログラムを書いていたら、時間をだいぶ使ってしまった。
中々検証が終わらない……けど、もう一回ぐらいで満足の行く結果が出せそう

localのredisとgcpのredisを比較してみる

やる前からlocalのredisが負けそうな気はしますが……
localと比べてどれぐらい早いのかな?と。

前回同様に、redis-benchmarkで各コマンドを500回、同時接続数を段々と増やしていく設定でやってみます。
今回はredis-benchmarkを3回実行して、その平均の値を使用してみます。
結果は1sあたりに実行できたコマンド数です。

macのlocal環境

redisをdockerコンテナで立ち上げて、redis-benchmarkコマンドをホストからひたすら実行!

同時接続数 1 10 25 50 100
PING_INLINE 2353.45 7969.51 10608.47 10929.51 7835.25
PING_BULK 2457.26 8510.78 11025.64 10512.6 10974.02
SET 2537.6 8268.4 10007.42 10601.73 8585.86
GET 2586.33 8697.76 10262.84 10400.13 8389.2
INCR 2587.77 8756.11 9828.3 11441.8 8391.34
LPUSH 2466.03 9024.12 9926.86 10679.27 9633.19
RPUSH 2257.2 8204.34 10591.13 10001.46 9817.63
LPOP 2486.2 7955.23 10054.51 8888.89 9131.58
RPOP 2668.43 8421.66 10245.51 11472.83 8703.7
SADD 2424.71 8680.56 11253.56 9685.85 8341.1
SPOP 2444.03 8451.55 9960.88 10357.14 10296.1
LPUSH 2466.03 9024.12 9926.86 10679.27 9633.19
LRANGE_100 (first 100 elements) 2164.16 6744.58 8044.58 8136.86 7559.84
LRANGE_300 (first 300 elements) 1739.92 4482.19 4727.96 4270.31 4625.08
LRANGE_500 (first 450 elements) 1516.72 3545.41 3720.64 3268.29 3397.3
LRANGE_600 (first 600 elements) 1345.15 2773.83 2866.99 2661.24 2449.77
MSET (10 keys) 2462.2 8429.9 10256.11 8439.71 8446.97

GCPのMemorystore

vCPU8、CPU数8でメモリ数30GBのマシンからMemorystoreに対して実行。
redisのスペックは前回同様にバージョンは3.2、インスタンス容量は1GB、高可用性はカットしています。

同時接続数 1 10 25 50 100
PING_INLINE 2663.46 19583.34 34722.22 36111.11 41071.43
PING_BULK 2929.5 18472.22 34722.22 38571.43 41666.67
SET 2569.35 18382.35 35000.0 37896.83 37500.0
GET 2700.24 19215.69 36785.71 37500.0 41071.43
INCR 3005.37 19365.08 36111.11 36111.11 41071.43
LPUSH 2363.36 19365.08 32222.22 37896.83 39285.71
RPUSH 2447.55 18799.02 33611.11 41666.67 41071.43
LPOP 2807.65 19166.67 33611.11 37896.83 41071.43
RPOP 2601.71 18055.56 37777.78 36785.71 39285.71
SADD 2968.76 18750.0 35000.0 39285.71 41071.43
SPOP 2873.02 20833.33 35396.83 39285.71 41071.43
LPUSH 2363.36 19365.08 32222.22 37896.83 39285.71
LRANGE_100 (first 100 elements) 2404.47 15025.06 21501.83 24358.98 24358.98
LRANGE_300 (first 300 elements) 1672.53 9113.25 11441.8 11846.15 10600.26
LRANGE_500 (first 450 elements) 1678.36 6485.26 7592.39 7830.91 7692.31
LRANGE_600 (first 600 elements) 1601.6 5203.69 6214.73 6127.66 6042.42
MSET (10 keys) 2590.8 18014.7 30202.02 33333.34 33333.34

同時接続数100の結果を比較してみる

項目 local gcp
PING_INLINE 7835.25 41071.43
PING_BULK 10974.02 41666.67
SET 8585.86 37500.0
GET 8389.2 41071.43
INCR 8391.34 41071.43
LPUSH 9633.19 39285.71
RPUSH 9817.63 41071.43
LPOP 9131.58 41071.43
RPOP 8703.7 39285.71
SADD 8341.1 41071.43
SPOP 10296.1 41071.43
LPUSH 9633.19 39285.71
LRANGE_100 (first 100 elements) 7559.84 24358.98
LRANGE_300 (first 300 elements) 4625.08 10600.26
LRANGE_500 (first 450 elements) 3397.3 7692.31
LRANGE_600 (first 600 elements) 2449.77 6042.42
MSET (10 keys) 8446.97 33333.34

見事に結果に差が出てしまいました。
簡単な操作であれば3〜4倍以上、複数件の操作をする内容であれば2倍〜以上の性能に差が出ています。
やる前からわかっていた感じではありますが:thinking:

考察

さすがにlocalと比較すると、gcpは猛烈に早い!
次はawsと比較しよう。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0