nakamura244 blog

所属団体とは関係なく、個人的なblog

memcached1.4系、redis2系、redis3系でHTTPレスポンスのベンチマークまとめ

はじめに

そもそもVarnishも検討した方は良いよという話はあるんですが、AWSでELBとか使ってたりすると中々構成がムズいなぁーと考えていて、まぁ別エントリーで詳しく書く事にして…今回はmemcached1.4系、redis2系、redis3系でHTTPレスポンスの性能比較をしたのでまとめておく

検証した構成

f:id:tsuyoshi_nakamura:20170206190503j:plain

利用module

Nginx to Memcached

Module ngx_http_memcached_module

Nginx to Redis

HTTP Redis | NGINX

Nginx version

nginx version: nginx/1.10.1

負荷内容

GitHub - wg/wrk: Modern HTTP benchmarking tool

を使って、2スレッドから50接続でアクセス,2スレッドから100接続でアクセス,3スレッドから100接続でアクセスと3パターンの負荷をかけて計測した

ベンチマーク結果

Requests/sec

f:id:tsuyoshi_nakamura:20170206191234p:plain

  • Memcached1.4系とRedis2系ではMemcached1.4系のがより多くアクセスを捌ける
  • だけどMemcached1.4系とRedis3系ではRedis3系の方がより多くのアクセスを捌ける
  • 負荷が高い時により顕著に現れる

Latency

f:id:tsuyoshi_nakamura:20170206191236p:plain

  • そんなに大差は無いけどRedis3系のがLatencyが小さい

その他

まとめ

  • 結果から言うとRedis3系を使った方が良さそう😁
    • パフォーマンス結果も😀
    • 可用性も😀
  • 後はAWSのメンテナンスウィンドウ時の対応や監視のCloudWatchの設定等々を見ておけば良いんじゃなかろうか…