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

Redis on Flash:新しいデータエンジンとAmazonEC2I4iインスタンスで3.7倍高速になりました

Redis on Flash(RoF)は、最も人気のあるエンタープライズ機能の1つであり、データセットの最大80%を高価なDRAMではなくSSDに保存し、ミリ秒未満のレイテンシとRedisのハイスループット。通常の展開では、RoFは最大70%のTCO割引を提供します。

2つの新しいエキサイティングなコラボレーションにより、RoFが最大3.7倍のパフォーマンスを提供できるようになったことをお知らせします。 Redisで大規模なデータセットを実行する場合と同じ魅力的な総所有コストを維持しながら。まず、AWSは、第3世代のIntel Xeonスケーラブルプロセッサ(コード名はIce Lake)とAWS NitroSSDNVMeベースのストレージを搭載した新世代のインスタンスAmazonEC2I4iの一般提供を発表しました。この新世代は、データ集約型のRedisのお客様のパフォーマンスを大幅に向上させることを約束します。さらに、RoFのデータエンジンをRocksDB互換データベースに公開する計画を共有できることをうれしく思います。最初のオプションとして、Speedbから新たに発表されたテクノロジーを使用します。

新しいI4iインスタンスを組み合わせ、顧客にデータエンジンの選択肢を提供することで、最新のアプリケーションや低レイテンシのマイクロサービスアーキテクチャを構築する企業にとってリアルタイムのエクスペリエンスの必要性が高まるため、RoFは大規模なデータセットにとってさらに魅力的なものになると確信しています。

Amazon EC2I4iとSpeedbはRedisonFlashに何をもたらしますか?

RoFの新機能について詳しく見ていきましょう。 AWSは、4つのリージョンで新しいAmazon EC2 I4i(「i」はIntel用)インスタンスを提供しています。 I4iインスタンスは、最新のテクノロジーであるIntelIceLakeプロセッサーとAWSNitroSSDを使用しており、前世代のI3インスタンスと比較してIOPSを改善し、レイテンシーを削減します。

ハードウェアとは別に、RoFがさらに優れたパフォーマンスを提供できる方法を探しており、顧客や起業家によるイノベーションにデータエンジンを開放する機会を特定しました。 RoFがすべてのRocksDB互換データエンジンにオープンになり、SpeedbがRedisによって提供される最初の代替手段であることをお知らせします。 Speedbのチームは、私たちと協力してRocksDBの内部データ構造を再設計し、CPUリソースを削減しながら、パフォーマンスとスケールの両方を大幅に向上させました。

このブログ投稿では、使用しているAWS EC2インスタンス、I4iまたはI3に関係なく、SpeedbがRocksDBと比較してサブミリ秒のテストでほぼ50%の大幅なパフォーマンス向上を提供する方法を共有しています。

Speedbを使用したRoFは、現在プライベートプレビューで利用できます。 Redisのお客様は、アカウントチームに連絡して、追加情報を入手したり、新しいサービスを試用したりできます。

新しいRedisをFlashでベンチマークする

私たちのパフォーマンスエンジニアは、AWSのI4iインスタンスを手に入れ、RoFの新しいSpeedbデータエンジンでテストするのを待ちきれませんでした。 AmazonEC2I4iインスタンスを徹底的にテストした最初のAWSパートナーになることを嬉しく思います。念のため、RoFは大規模なデータセットをインテリジェントに階層化し、DRAMと比較してGiBあたりのNVMeSSDの低価格を利用するように設計されています。これにより、DRAMベースのインスタンスの総所有コストの30%で、RedisグレードのパフォーマンスをI4iインスタンスでさらに高速に実現できます。

ベンチマークの結果と数値を取得する前に、顧客がRoFを検討する必要がある時期を確認しましょう。作業データセットがデータセット全体よりも小さく、追加のDRAMへの移行にコストがかかるユースケース向けにRoFを開発しました。もう1つの一般的なRoFのユースケースは、バッチデータ処理です​​。この場合、ビジネスクリティカルなアプリケーションでは大量のデータを処理する必要があり、時間の経過とともに安定した低遅延と高スループットが必要になります。

ここで、楽しい部分として、ベンチマークの結果を示します。

ベンチマークしたもの

4つのAWSインスタンスでのフラッシュ上のRedisのパフォーマンスを比較しました:

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

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

  • RocksDB
  • Speedb
テストパラメータ

1KiBの値のサイズを使用し、ほとんどの標準的なRedisのユースケースをカバーしました
50%と85%のRAMヒット率をテストしました(つまり、RAMから直接提供される多くのリクエスト)
20:80のRAM:フラッシュ比をテストしました
さまざまな読み取り:書き込み比率をベンチマークしました: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/secの数をテストしました

​​見つけたもの

以下のグラフは、i3とI4i、およびRocksDBとSpeedbを示しています。

Redis on Flash:新しいデータエンジンとAmazonEC2I4iインスタンスで3.7倍高速になりました

次の改善が見られます:

From から スピードアップ係数
i3.8xlarge rocksdb i3.8xlarge speedb 1.3x
I4i.8xlarge rocksdb I4i.8xlarge speedb 1.46x
i3.8xlarge rocksdb I4i.8xlarge rocksdb 1.94x
i3.8xlarge speedb I4i.8xlarge speedb 2.16x
i3.8xlarge rocksdb I4i.8xlarge speedb 2.83x

以下のグラフは、SpeedbでのI4iとさまざまな読み取り:書き込み比率でのスケーリングを示しています:

Redis on Flash:新しいデータエンジンとAmazonEC2I4iインスタンスで3.7倍高速になりました

次の結果と改善が見られます。

スケーリングに関しては、Speedbを使用したI4iのRoFはほぼ直線的にスケーリングすることがわかります。

4xlarge→8xlargeの係数は約1.55x〜1.8xです
8xlarge→16xlargeのスケーリング係数は〜1.85x-1.95x

2つ目の注目すべき結果は、Speedbを使用したI4iのRoFが、アプリケーションのアクセスパターン(読み取り:書き込みの比率)に非常に依存しないことです。つまり、パフォーマンスは安定しており、予測可能です。これは、複数の異なるアプリケーションを操作する場合、またはアクセスパターンが時間の経過とともに変化する場合に役立ちます。

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

Redis on Flash:新しいデータエンジンとAmazonEC2I4iインスタンスで3.7倍高速になりました

付録:
ベンチマークの設定

Redis Enterpriseバージョン:Ubuntu18.04のv。6.2.8-39
FlashデータベースでのRedis:上記のインスタンスごとの詳細を参照してください
クライアントマシン:EC2 m5.8xlarge(32 VCPU、128 GB RAM)
負荷生成ツール:memtierベンチマーク

ラムヒット率85%のMemtierサンプルコマンド:
memtier_benchmark-s<データベースホストIP>-p<データベースポート>
–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:新しいデータエンジンとAmazonEC2I4iインスタンスで3.7倍高速になりました
  1. これらの新しい Instagram 機能を使用して、より多くの方法で Instagram でより多くの情報を共有し、つながりましょう

    Instagram は常に新しい方法で人々をつなぐことを考え、常に成功してきました。今回もInstagramは彼らの約束を守りました。さて、先月発表されたように、Instagram は、新しい Instagram 機能を使用して、より多くの投稿やストーリーを友達や家族と結びつけ、共有するための新しい方法を提供します。 Instagram は、私たちが考えているよりもはるかに速いようです。 6 月 26 日 、Instagram は最近、先月発表した機能を備えたアップデートを展開しました。 このアップデートには、Instagram Direct のビデオチャット、Explore のトピックチ

  2. 新しいメジャー アップデートで Google Chrome がより高速かつ安全になりました

    Google は、37 のセキュリティ脆弱性にパッチを適用し、ブラウザのパフォーマンスを高速化すると主張するブラウザのデスクトップ バージョンのメジャー アップデートをリリースしました。 Chrome 90 というラベルの付いた新しいバージョンは、ビデオ会議サービスの追加サポートも提供します。 この更新で取り上げられている主な変更点は、Web 接続の作成中に使用される暗号化標準です。 HTTP の代わりに、より安全であると考えられている HTTPS 標準がデフォルトになり、Web サイトの読み込みが以前よりも高速になりました。これを理解するには、この更新の前に、ユーザーが Examp