Redisベンチマーク: EC2 C4 vs オンプレミス Xen 4.4

1年半前ぐらいに社内でベンチマークしていた結果を公開しておく。オンプレミスからAWSへ移行するときの参考にした (Webサービスをデータセンター移行するときに必要となる技術要素 - ゆううきブログ]

環境

  • Linux kernel 3.16, Debian 8
  • Redis バージョン: 2.8.17

EC2

オンプレミス

ベンチマーク手法

Redisに付属するredis-benchmarkコマンドを使った。バージョンはRedis 2.8.17に付属するものを利用した。 ベンチマーククライアントが利用するCPUコアとRedisサーバが利用するCPUコアが同一でないように考慮する。 両環境とも物理2コアであり、Redisは1スレッドで1コアしか使わないため、同じホスト上でベンチマーククライアントを実行して問題ないと判断した。 3回ずつ実行してほぼ結果に差分がないことを確認した。

結果

スループット(requests/sec)はEC2 c4.xlargeのほうがオンプレミスと比べて約1.2倍となる結果を得た。CPUクロック差は1.26倍であるため、だいたいCPUクロックに比例した結果を得た。

EC2

[y_uuki@redisbenchtest04 ~]$ redis-benchmark -t get,set -r 100000 -n 100000 -q
SET: 175746.92 requests per second
GET: 188323.91 requests per second
[y_uuki@redisbenchtest04 ~]$ redis-benchmark -r 1000000 -n 100000 -t get,set,lpush,lpop -q
SET: 185873.61 requests per second
GET: 186915.88 requests per second
LPUSH: 188323.91 requests per second
LPOP: 186567.16 requests per second

オンプレミス

[y_uuki@redisbenchtest01 ~]$ redis-benchmark -t get,set -r 100000 -n 100000 -q
SET: 147929.00 requests per second
GET: 144927.53 requests per second
[y_uuki@redisbenchtest02 ~]$ redis-benchmark -r 1000000 -n 100000 -t get,set,lpush,lpop -q
SET: 139860.14 requests per second
GET: 154798.75 requests per second
LPUSH: 151515.14 requests per second
LPOP: 131061.59 requests per second

参考