コンテンツに移動
コンピューティング

2 倍のコスト パフォーマンスと 10 倍のスループット: Isima による Z3 VM を使用した e コマーステスト

2024年7月18日
Aisha Wang

Product Manager, Z3

※この投稿は米国時間 2024 年 7 月 10 日に、Google Cloud blog に投稿されたものの抄訳です。

水平方向のスケールアウト データベースやログ分析などのストレージ密度の高いワークロードには、高密度の SSD と一貫したパフォーマンスが必要です。また、サービス停止時にデータを保持するためには、予測可能なメンテナンスも必要です。Google Cloud Next ‘24 で、Google 初となるストレージ最適化 VM ファミリー、Z3 仮想マシンシリーズの一般提供を発表しました。Z3 は、100% ランダム読み取り IOPS 6M、書き込み IOPS 6M という業界トップクラスの性能を特徴とし、次世代ローカル SSD ハードウェア上で vCPU あたり最大 409 SSDGiB)という超高密度ストレージ構成が可能です。

シリコンバレーのスタートアップで、e コマース分析クラウドである Isima は、これをいち早く試した企業の一つです。同社のプラットフォーム bi(OS) は、小売と e コマースのリアルタイム データと AI アプリケーションのためのサーバーレス インフラストラクチャを提供します。スケールアウト型 SQL 対応データベースとゼロコード機能を備えており、リアルタイムのデータ統合、特徴量ストア、データ サイエンス、カタログ作成、オブザーバビリティ、DataOps、ビジネス インテリジェンスのためにデータを取り込み、処理、操作できます。

このブログ記事では、Z3 と汎用 N2 VM を比較した Isima のテストとその結果をご紹介します。ネタバレになりますが、2 倍のコスト パフォーマンス、10 倍のスループットなど、数多くのことが確認されています。

テスト

Google Cloud パートナーである Isima は、Z3 への早期アクセスを利用して、マイクロサービスの呼び出し、アドホック分析、可視化クエリなどがすべて同時に発生する、現実に即した高負荷の e コマース ワークロードをテストしました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_hcarbEs.max-2000x2000.png

図 1 - Z3 上の bi(OS) の e コマース ユースケース

Z3 を限界まで追い込み、現実世界の高可用性デプロイメントを反映するために、Isima 3 つの z3-highmem-88 インスタンスに bi(OS) をデプロイし、それぞれを複数のゾーンにまたがる 5 つの Docker コンテナに分割しました。そして各 Docker コンテナに、16 個の vCPU128 GB RAM2 つの 3 TB SSD を割り当てました。このようにセットアップすることで、Isima は、n2-highmem-16 インスタンスを使用して実施した以前のテスト Z3 を簡単に比較できるようにしました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_txZCQTN.max-2000x2000.png

図 2 - Z3 上の bi(OS) のテスト構成

過大な負荷とさまざまな最悪のシナリオをエミュレートするために、Isima は次のテストを実施しました。

  • 需要の急増: 短時間のピーク負荷をシステムに課し、システム リソースを約 70% まで飽和させました。その後 72 時間にわたってそのピークの 75% を絶え間なく維持し、その間ずっと、99.999% の信頼性を要求(そして達成)しました。

  • 選択クエリ: OS または bi(OS) による意図しないキャッシュ保存の影響を回避するために、選択クエリをテストしました。つまり、Isima が(選択クエリを使用して)データを読み取るとき、意図的に時間をさかのぼって(たとえば、30 分前に挿入されたデータをクエリするなど)、RAM からではなくローカル SSD からデータを読み取るようにしました。これは Z3 では非常に重要なことです。このようにすることで、パフォーマンス テストの結果が、実際のワークロードにも適用可能になると考えました。

  • 複数のデプロイ シナリオ: 単一テナント構成とマルチテナント構成の両方をテストして、Z3 が現実のさまざまなデプロイメントに対応できることを検証しました。

  • メンテナンス イベントのシミュレーション: 計画的メンテナンスを想定して Docker の再起動を行い、Z3 が処理の中断にも難なく対応できることを示しました。

テスト結果

DB リクエスト

n2-highmem-16

(オペレーション/秒の最大値)

z3-highmem-88

16 vCPU Docker 1

(オペレーション/秒の最大値)

改善

ユースケース

挿入

1 /クエリ)

3342

6010

1.8

クリックストリーム データの取り込み

選択

1 /クエリ)

300

613

2

パーソナライズ、ATP などのための特徴量ストアの読み取り

upsert

1 /クエリ)

612

1,500

2.45

ML スコアの更新

選択

(複数行/クエリ)

1600

4110

2.56

一括読み取り(ETL の一部として)

NVMe ドライブのレイテンシ: 書き込みレイテンシは最大 6 倍に改善されましたが、読み取りレイテンシは変わりませんでした。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_1.max-1500x1500.png
  • ドライブの分散: z3-highmem-88 VM 上のドライブはそれぞれ、72 時間にわたって、読み取りと書き込みの両方のレイテンシで +/- 0.02ms の分散を報告しました。
https://storage.googleapis.com/gweb-cloudblog-publish/images/4_VfSvFvQ.max-1600x1600.png

新しい Z3 インスタンスでこのような結果が確認されたことはとても喜ばしく、さらに多くのワークロードに最大限の効果がもたらされると確信しています。これは単なるベンチマークではなく、実際のワークロードに適用できる結果です。Z3 について詳しくは、こちらの詳細なドキュメントをご覧ください。また、アジャイルでパフォーマンスの高い e コマース プラットフォームをお探しの場合は、Google Marketplace から bi(OS) 30 日間無料でお試しいただけます。

ー Z3 プロダクト マネージャー Aisha Wang

投稿先