ロード テストの補助用語

ロード テストは、ソフトウェア開発におけるパフォーマンス テストの重要な側面です。
これには、シミュレートされたワークロードをシステム、アプリケーション、またはネットワークに適用して、通常の状態とピーク状態の両方での動作を観察することが含まれます。
このプロセスは、潜在的なボトルネックを特定し、パフォーマンスの安定性を確保し、全体的なユーザーエクスペリエンスを向上させるのに役立ちます。

ロード テストに関連する主要な定義と用語を理解することは、ロード テストを始めたばかりのときに重要です。

 

用語と定義

耐久試験

耐久試験は、ソーク試験とも呼ばれ、特定の負荷でシステムを長期間運転して、短期試験では明らかでない可能性のあるパフォーマンスの問題を特定します。
このタイプのテストは、メモリリーク、リソースの枯渇、および長期的なシステムの安定性とパフォーマンスに影響を与える可能性のあるその他の問題を明らかにするのに役立ちます。

 

スパイクテスト

スパイクテストは、ストレステストのサブセットであり、システムの負荷が突然かつ極端に増加します。
目的は、システムが予期しないユーザー アクティビティの急増をどのように処理するか、およびクラッシュや大幅な低下なしにパフォーマンスを維持できるかどうかを観察することです。

 

ボリュームテスト

ボリュームテストは、大量のデータを処理するシステムの能力に焦点を当てています。
このタイプのテストでは、大量のデータにさらされた場合のデータベースのパフォーマンス、データストレージ、および取得時間を評価します。
ボリュームテストにより、システムがパフォーマンスを低下させることなく、大規模なデータセットを効率的に管理および処理できることを確認します。

 

スケーラビリティテスト

スケーラビリティ テストでは、ユーザー負荷やデータ量の変化に応じてスケールアップまたはスケールダウンするシステムの能力を評価します。
このテストは、リソースを追加 (スケールアップ) するか、複数のサーバーに負荷を分散 (スケールアウト) することで、システムがワークロードの増加を処理できるかを判断するのに役立ちます。
スケーラビリティ テストにより、アプリケーションの拡張がユーザーの要求に応じて行われることが保証されます。

 

ベースラインテスト

ベースラインテストでは、事前定義された安定した負荷の下でシステムのパフォーマンスを測定し、パフォーマンスベースラインを確立します。
このベースラインは、将来のロード テストの参照ポイントとして機能し、パフォーマンスの向上や回帰を特定するのに役立ちます。
ベースライン テストは、時間の経過に伴うパフォーマンスの傾向を追跡するために不可欠です。

 

スループット

スループットとは、特定の期間にシステムによって処理されたトランザクションまたは要求の数を指します。
通常、1 秒あたりのトランザクション数 (TPS) または1 秒あたりの要求数 (RPS) で測定されます。
スループットは、ユーザー要求を効率的に処理するシステムの能力を示すため、ロード テストにおいて重要なメトリックです。

 

潜在

レイテンシは、リクエストがクライアントからサーバーに移動し、クライアントからサーバーに戻るのにかかる時間です。
これは、高レイテンシーがユーザーエクスペリエンスの低下につながる可能性があるため、ロードテストの大きな要因です。
通常、遅延はミリ秒 (ms) で測定され、ネットワークの遅延、サーバーの処理時間、およびその他の要因の影響を受ける可能性があります。

 

応答時間

応答時間は、ユーザーがリクエストを送信した瞬間からシステムがレスポンスを完了するまでの合計時間です。
これには、レイテンシーと、サーバーがリクエストを処理してレスポンスを生成するのに必要な時間が含まれます。
応答時間は、ロード テストにおける重要なメトリックであり、アプリケーションに対するユーザー エクスペリエンスを反映しています。

 

エラー率

エラー率は、ロード テスト中にエラーが発生した要求の割合です。
エラー率が高い場合は、サーバーのクラッシュ、タイムアウト、アプリケーションのバグなどの問題を示している可能性があります。
エラー率の監視は、システムのパフォーマンスと信頼性に影響を与える可能性のある問題を特定して解決するために不可欠です。

 

同時ユーザー数

同時ユーザーとは、システムと同時に対話するユーザーの数を指します。
ロード テストでは、同時ユーザーのシミュレーションは、現実的な使用シナリオでシステムがどのように動作するかを評価するのに役立ちます。
目標は、アプリケーションがパフォーマンスを低下させることなく、予想される数の同時ユーザーを処理できるようにすることです。

 

仮想ユーザー

仮想ユーザー (VU) は、実際のユーザーの動作を模倣するために、負荷テスト ツールによって生成されるシミュレートされたユーザーです。
仮想ユーザーは、現実的な負荷シナリオを作成し、さまざまな条件下でのシステムのパフォーマンスを測定するために重要です。
閲覧、検索、購入などのさまざまなアクションを実行できるため、実際の使用パターンをシミュレートできます。

 

ロードジェネレータ

Load Generator は、仮想ユーザーを作成し、負荷テスト中にシステムとのユーザー操作をシミュレートするツールまたはソフトウェアです。
ロードジェネレータは、複数のマシンに分散して、多くの仮想ユーザーを生成し、システムにかなりの負荷をかけることができます。

 

ロードインジェクター

ロードインジェクタは、テスト対象のシステムに負荷を生成する負荷テストセットアップのコンポーネントです。
ロードジェネレータと連携して、複数のインジェクターに負荷を分散し、システムに現実的で分散された負荷を確保します。
ロードインジェクターは、ユーザーインタラクションのスケーラビリティとシミュレーションの精度を高めるのに役立ちます。

 

ボトルネック

ボトルネックとは、パフォーマンスが制約され、応答時間が遅くなったり、スループットが低下したりするシステム内のポイントです。
ボトルネックを特定して対処することは、アプリケーションの全体的なパフォーマンスに大きな影響を与える可能性があるため、ロード テストの重要な側面です。
一般的なボトルネックには、CPU、メモリ、ディスク I/O、ネットワーク帯域幅などがあります。

 

リソース使用率

リソース使用率とは、負荷テスト中のCPU、メモリ、ディスク、ネットワークなどのシステムリソースの消費を指します。
リソース使用率をモニタリングすると、潜在的なパフォーマンスの問題を特定し、システムを最適化してリソースを効率的に使用するのに役立ちます。
リソース使用率が高い場合は、アプリケーションのスケーリングまたは最適化が必要であることを示している可能性があります。

 

考える時間

思考時間は、ロード テスト中に仮想ユーザーの連続するアクション間のシミュレートされた遅延です。
これは、実際のユーザーがアクションの合間に考えたり、アプリケーションを操作したりする時間を模倣しています。
思考時間は、より現実的な負荷シナリオを作成するのに役立ち、一般的な使用条件下でのシステムの動作をよりよく理解するのに役立ちます。

 

ペーシング

ペーシングは、仮想ユーザーが実行するテストスクリプトの反復間の間隔です。
これは、仮想ユーザーがアクションを実行する頻度を制御します。
ペーシングを調整することで、テストチームはシステムの負荷を制御し、現実的なユーザー行動が反映されていることを確認できます。
適切なペーシングは、実際の使用パターンを正確にシミュレーションするために重要です。

 

議定書

プロトコルとは、クライアントとサーバー間の通信を制御する一連のルールを指します。
ロード テストでは、システムとのユーザー操作を正確にシミュレートするために、適切なプロトコル (HTTP、HTTPS、FTP、SOAP など) を選択することが不可欠です。
さまざまなプロトコルがパフォーマンスに影響を与える可能性があり、それらを理解することは、効果的な負荷テストを設計するのに役立ちます。

 

反復

ロード テストのイテレーションとは、仮想ユーザーによるテスト スクリプトの 1 回の実行を指します。
各イテレーションでは、テスト スクリプトで定義された一連のアクション (ログイン、アプリケーション内の移動、トランザクションの完了など) を実行します。
複数のイテレーションにより、継続的なユーザーアクティビティをシミュレートし、システムパフォーマンスを包括的に評価できます。

 

トランザクション

トランザクションは、ユーザーが実行する一連の関連アクションであり、グループ化されてユーザーの集合的なパフォーマンスを測定します。
ロード テストでは、トランザクションは、パフォーマンスの問題を引き起こしている可能性のあるユーザー体験の特定のポイントを特定するのに役立ちます。
たとえば、ログイン トランザクションには、ユーザー名とパスワードの入力、フォームの送信、確認メッセージの受信が含まれる場合があります。

 

ランプアップとランプダウン

ランプアップとは、ロード テストの初期フェーズで、システム上の仮想ユーザー数または負荷が徐々に増加することです。
ランプダウンとは、テストの最終フェーズで仮想ユーザー数または負荷が徐々に減少することです。
ランプアップとランプダウンはどちらも、現実世界のシナリオをシミュレートし、非現実的な結果につながる可能性のある突然のスパイクを回避するのに役立ちます。

 

テストスクリプト

テスト スクリプトは、ロード テスト中に仮想ユーザーによって実行される一連の命令です。
テストスクリプトは、ログイン、検索、購入など、仮想ユーザーが実行するアクションとトランザクションを定義します。
適切に設計されたテスト スクリプトは、正確なロード テストと信頼性の高いパフォーマンス結果を得るために重要です。

 

SLAの

サービスレベルアグリーメント(SLA)は、サービスプロバイダーとクライアント間の正式な契約であり、応答時間、スループット、可用性などのパフォーマンスメトリックを含む、期待されるサービスレベルを定義します。
ロード テストは、システムが SLA 要件を満たし、満足のいくユーザー エクスペリエンスを提供することを確認するのに役立ちます。

 

モニタリングと分析

監視と分析には、負荷テスト中の応答時間、スループット、リソース使用率などのシステムパフォーマンスメトリックの追跡が含まれます。
これらのメトリクスを分析すると、パフォーマンスの問題を特定し、システムの動作を理解し、アプリケーションを最適化するのに役立ちます。
負荷テストを成功させるには、効果的な監視と分析が不可欠です。

 

結論

ロード テストは、ソフトウェア アプリケーションのパフォーマンスと信頼性を確保するために不可欠なプラクティスです。
ロード テストに関連する主要な定義と用語を理解すると、効果的なロード テストの設計と実行、パフォーマンスの問題の特定、およびアプリケーションの最適化によるユーザー エクスペリエンスの向上に役立ちます。
これらの概念を習得することで、チームはユーザーの期待に応え、さまざまな負荷条件下で優れたパフォーマンスを発揮する堅牢なシステムを構築できます。

In this article
ロード テストを
次のレベル

無限のスケーラビリティで比類のない機能を体験できます。 クレジットカードなし、契約なし。