2014年12月19日金曜日

EC2 HVMにRedisを載せたときの性能差は2倍以上

http://www.flickr.com/photos/othree/10945272436

EC2をHVMに移行するモチベーション – AWS Advent Calendar 2014:9日目 | Developers.IO http://dev.classmethod.jp/cloud/ec2-migration-to-hvm/

Developers.IOさん曰く、HVMインスタンスを使うとパフォーマンスがかなり良くなるという話だったので、Redisの場合はどうかなと思い、ベンチマークを走らせてみました。
結果、PVに比べてHVMは、ほぼ全てのパラメータで2倍以上の差がでました。

Redisのバージョンは2.8.19です。設定ファイルはデフォルトです。

EC2の環境
HVM AMI: CentOS 6 (x86_64) - with Updates HVM
PV AMI: CentOS 6 (x86_64) - with Updates
Instance Type: c3.xlarge + EBS-optimized instance
EBS: 100GB Provisioned IOPS (SSD) IOPS 3000

Linuxカーネルチューニング
# cat /etc/sysctl.conf
vm.swappiness = 0
net.core.somaxconn = 2048
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.ip_local_port_range = 1024 65000
vm.overcommit_memory = 1

ベンチマークコマンド
# time /usr/local/bin/redis-benchmark -c 1000 -r 100000 -n 10000 -q --csv

以下、結果のグラフです。
HVM/ PVそれぞれ5回試行しています。左の5本がHVM、右の5本がPVです。