Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Redis on Flash、新データエンジンとAmazon EC2 I4iインスタンスで最大3.7倍の高速化を実現

Redis on Flash(RoF)は、当社で最も人気のあるエンタープライズ機能の一つです。データセットの最大80%を高価なDRAMではなくSSDに保存することで、インメモリコンピューティングのコスト効率を高めながら、Redisならではのサブミリ秒レイテンシと高いスループットを維持します。典型的な導入環境では、RoFはTCO(総所有コスト)を最大70%削減できます。

そして今回、2つの新しいコラボレーションにより、RoFが最大3.7倍のパフォーマンス向上を実現しながら、大規模データセットをRedis上で運用する際の魅力的なTCOを維持できることを発表できることを誇りに思います。まず、AWSが第3世代Intel Xeon Scalableプロセッサー(開発コード名:Ice Lake)とAWS Nitro SSD NVMeストレージを搭載した新世代インスタンス「Amazon EC2 I4i」の一般提供を開始しました。この新世代は、データ集約型のRedisワークロードに対して大幅なパフォーマンス向上をもたらします。さらに、RoFのデータエンジンをRocksDB互換のあらゆるデータベースに開放する計画も発表し、その最初の選択肢としてSpeedbの新技術を採用します。

新しいI4iインスタンスと、データエンジンを選択できる自由度の組み合わせにより、モダンアプリケーションや低レイテンシのマイクロサービスアーキテクチャを構築する企業でリアルタイム体験への需要が高まる中、RoFは大規模データセットに対してさらに魅力的な選択肢になると考えています。

Amazon EC2 I4iとSpeedbはRedis on Flashに何をもたらすのか?

RoFの最新情報を詳しく見ていきましょう。AWSは新しいAmazon EC2 I4i(「i」はIntelの略)インスタンスを4つのリージョンで提供しています。I4iインスタンスは最新のIntel Ice LakeプロセッサーとAWS Nitro SSDを採用しており、前世代のI3インスタンスと比較してIOPSが向上し、レイテンシが低減されています。

ハードウェアとは別に、私たちはRoFがさらに高いパフォーマンスを発揮できる方法を模索し、顧客や開発者によるイノベーションのためにデータエンジンを開放する機会を見出しました。RoFがRocksDB互換のあらゆるデータエンジンに対応可能になったこと、そしてSpeedbが最初の代替エンジンとしてRedisから提供されることをお知らせします。私たちと協力したSpeedbチームは、RocksDBの内部データ構造を再設計し、CPUリソースを削減しながらパフォーマンスとスケーラビリティの両方を大幅に向上させました。

このブログ記事では、使用するAWS EC2インスタンスがI4iであってもI3であっても、SpeedbがRocksDBと比較してサブミリ秒のテストで約50%もの大幅なパフォーマンス向上をもたらす様子をご紹介します。

Speedb対応のRoFは現在プライベートプレビューとして提供されています。Redisのお客様は、担当のアカウントチームまでお問い合わせいただくことで、詳細情報の入手や新サービスのトライアルが可能です。

新しいRedis on Flashのベンチマーク

当社のパフォーマンスエンジニアは、AWSのI4iインスタンスを手に入れて、RoFの新しいSpeedbデータエンジンとの組み合わせをテストすることを心待ちにしていました。私たちは、Amazon EC2 I4iインスタンスを徹底的にテストした最初のAWSパートナーとなりました。おさらいすると、RoFは大規模なデータセットをインテリジェントに階層化し、DRAMよりもGiBあたりの価格が安いNVMe SSDの利点を活かすように設計されています。これにより、I4iインスタンスによってさらに高速化されたRedisグレードのパフォーマンスを、DRAMベースのインスタンスのわずか30%のTCOで実現できます。

ベンチマーク結果の数値に入る前に、どのような場合にRoFを検討すべきかをおさらいしましょう。RoFは、ワーキングデータセットが全データセットより小さく、追加のDRAMへの投資がコスト的に現実的でないユースケース向けに開発されました。もう一つの一般的なRoFのユースケースはバッチデータ処理です。ビジネスクリティカルなアプリケーションにおいて大量のデータを処理する必要があり、長時間にわたって安定した低レイテンシと高スループットが求められるケースです。

それでは、待ちに待ったベンチマーク結果をご紹介します。

ベンチマークの内容

4つのAWSインスタンスでRedis on Flashのパフォーマンスを比較

  • i3.8xlarge – RAM 244GB、NVMe SSDドライブ×4、合計7.6TB
  • I4i.4xlarge – RAM 128GB、NVMe SSDドライブ×1、合計3.75TB
  • I4i.8xlarge – RAM 256GB、NVMe SSDドライブ×2、合計7.5TB
  • I4i.16xlarge – RAM 512GB、NVMe SSDドライブ×4、合計15TB

2つのデータエンジンのパフォーマンスを比較

  • RocksDB
  • Speedb

テストパラメータ

  • ほとんどの標準的なRedisユースケースをカバーする1KiBの値サイズを使用
  • 50%および85%のRAMヒット率をテスト(多くのリクエストがRAMから直接処理される状態)
  • RAM:フラッシュ比20:80をテスト
  • 様々な読み書き比率をベンチマーク:1:1、4:1、1:4
  • すべてのテストは2台のサーバーを使用して実施

インスタンスタイプごとに実行したデータベースサイズは以下の通りです:

  • I4i.4xlarge:500GB+レプリケーション。プライマリシャード5個+レプリカシャード5個
  • i3.8xlarge:1TB+レプリケーション。プライマリシャード10個+レプリカシャード10個
  • I4i.8xlarge:1TB+レプリケーション。プライマリシャード10個+レプリカシャード10個
  • I4i.16xlarge:2TB+レプリケーション。プライマリシャード20個+レプリカシャード20個

各構成において、クライアントレイテンシ(ネットワークを除く)をサブミリ秒に保ちながら、毎秒何オペレーション(ops/秒)を達成できるかをテストしました。

テスト結果

下のグラフは、i3対I4i、およびRocksDB対Speedbの比較を示しています:

Redis on Flash、新データエンジンとAmazon EC2 I4iインスタンスで最大3.7倍の高速化を実現

以下の改善が確認できます:

移行元移行先高速化倍率
i3.8xlarge RocksDBi3.8xlarge Speedb1.3倍
I4i.8xlarge RocksDBI4i.8xlarge Speedb1.46倍
i3.8xlarge RocksDBI4i.8xlarge RocksDB1.94倍
i3.8xlarge SpeedbI4i.8xlarge Speedb2.16倍
i3.8xlarge RocksDBI4i.8xlarge Speedb2.83倍

下のグラフは、Speedbを使用したI4iでのスケーリングと、異なる読み書き比率の結果を示しています:

Redis on Flash、新データエンジンとAmazon EC2 I4iインスタンスで最大3.7倍の高速化を実現

以下の結果と改善が確認できます:

スケーリングの観点では、Speedbを使用したI4i上のRoFはほぼ線形にスケールすることがわかります。

  • 4xlarge → 8xlarge:約1.55倍~1.8倍
  • 8xlarge → 16xlarge:約1.85倍~1.95倍のスケーリング係数

2つ目の注目すべき結果は、Speedbを使用したI4i上のRoFが、アプリケーションのアクセスパターン(読み書き比率)にほとんど左右されないという点です。つまり、パフォーマンスが安定しており、予測可能だということです。これは、複数の異なるアプリケーションを扱う場合や、アクセスパターンが時間とともに変化する場合に特に有用です。

下のグラフは、全体で3.7倍のパフォーマンス向上を示しています:

Redis on Flash、新データエンジンとAmazon EC2 I4iインスタンスで最大3.7倍の高速化を実現

付録:ベンチマーク環境

  • Redis Enterpriseバージョン:v.6.2.8-39(Ubuntu 18.04)
  • Redis on Flashデータベース:上記のインスタンスごとの詳細を参照
  • クライアントマシン:EC2 m5.8xlarge(32 vCPU、RAM 128GB)
  • 負荷生成ツール:memtier_benchmark

RAMヒット率85%の場合のmemtierサンプルコマンド:
memtier_benchmark -s <database host IP> -p <database port>
--hide-histogram --pipeline=1 -c 4 -t 256 -d 1000
--key-maximum=771141855 --key-pattern=G:G --key-stddev=50358491
--ratio=1:1 --distinct-client-seed --randomize --test-time=1200

環境構成図:

Redis on Flash、新データエンジンとAmazon EC2 I4iインスタンスで最大3.7倍の高速化を実現
  1. Instagramの新機能を使いこなそう!ビデオチャット・Explore刷新・新カメラエフェクトの使い方

    Instagramは常に新しい方法で人々をつなぐことを追求し、それを実現し続けてきました。今回もその約束は守られました。先月発表されたとおり、友達や家族ともっと多くの投稿やストーリーズを共有できる新機能が、ついに正式リリースされたのです。 予想以上のスピード感です。6月26日、Instagramは先月発表した機能をすべて盛り込んだアップデートを公開しました。内容は以下の3つです。 Instagram Directでのビデオチャット Exploreのトピックチャンネル 新しいカメラエフェクト このアップデートはAndroid・iOSの両方のユーザーがすぐに利用できます。ここでは、それぞれの機

  2. Google Chrome 90登場──37件の脆弱性を修正し、より高速かつ安全なブラウジングを実現

    Googleはデスクトップ版「Google Chrome」の大型アップデートを公開しました。新バージョン「Chrome 90」では、合計37件のセキュリティ脆弱性が修正されたほか、ブラウザ全体の動作速度が大幅に向上しています。さらに、ビデオ会議サービスへの対応強化も図られ、日常使いの快適さが一段と高まりました。 最大の変更点:HTTPS接続がデフォルトに 今回のアップデートで最も注目すべきは、Webサイトへの接続時に使われる暗号化方式の変更です。これまでのChromeでは、アドレスバーに「example.com」と入力すると、まずHTTPでサイトを探し、見つからなければHTTPSへ切り替える