Docs Menu
Docs Home
/ /
Atlas App Services
/ /

同期本番負荷テスト

項目一覧

  • Overview
  • 推奨戦略

負荷テストとは、アプリが本番環境になったらユーザーがアプリに加えるリクエストをシミュレートすることです。 目的は、パフォーマンスを測定し、実際のユーザーに発生する前に問題を識別して解決することです。

Node.js SDK を使用して、モバイル アプリの一般的な単一ユーザーのワークロードをシミュレートします。 たとえば、SDK を使用して次のことができます。

  • 一定数の同期された Realm を開きます。

  • 同期された Realm への書込み (write) を一定回数実行します。

  • バックエンド サーバー呼び出しをシミュレートします(たとえば、Atlas Functions を呼び出した場合)。

シミュレーションの正確な詳細は、アプリの実際のワークロードによって異なります。 たとえば、サーバー側ですでに初期化された同期データを含む Realm を開き、読み取りのユースケースをシミュレートできます。 書込みワークロードをシミュレートするために、さまざまなRealmを開く場合があります。 これらの Realm は、ユースケースに応じて、ユーザーごとの共有 Realm とプライベート Realm が混在する場合があります。 共有 Realm を使用して競合の解決速度をテストし、問題を見つけることができます。 したがって、実際のアプリで Realm Database を使用してシミュレーションを設計する方法を検討してください。

注意

Node.js SDK は、モバイル(iOS、Android、.NET など)SDK と同じ基礎の C++ データベースと同期クライアントを使用します。 したがって、Node.js のヘッドレス、サーバー環境のメリットを享受しながら、本番環境のモバイル アプリと同じコード パスを実行できます。

次に、シングルユーザー シミュレーションを数百または数の同時ノードに配置して、実際のマルチユーザー ワークロードをテストできます。 例:

  • アプリを Docker コンテナにパッケージ化します。

  • Kubernetes ジョブの一部としてコンテナを配置します。

  • ジョブのパラメーターを調整して、実際の本番ワークロードと一致させます。

  • Kubernetes ジョブの完了にかかる時間を測定し、全体的なパフォーマンスを計算します。

使用できるクラウドベースのサービスとしての Kubernetes はさまざまあります。

戻る

本番環境チェックリスト