パフォーマンステストとは何ですか?
パフォーマンス・テストとは、ユーザーの動作、システム上での大量の同時操作、システムのさまざまなパフォーマンス指標、パフォーマンスのボトルネックをシミュレートするためのツールの使用を指します。
パフォーマンス・テストの目的は何ですか?
サーバーサイドインターフェースのパフォーマンステストは、主にシステムが期待されるパフォーマンス指標を達成できることを確認すると同時に、システムパフォーマンスのボトルネックを見つけ、目標を最適化することです。
パフォーマンス・テストの次元
大まかに分類すると、パフォーマンス・テストは一般的に、サーバーサイド・パフォーマンス・テスト、クライアントサイド・パフォーマンス・テスト、フルリンク・パフォーマンス・テストに分けられます。
ビジネス・パフォーマンス・メトリクスの次元とは?
応答時間:ユーザーがリクエストを送信してから、サーバーから応答データを受信するまでの時間。
応答時間 = ネットワーク時間 + システム処理時間 = + 負荷が増加すると、応答時間はある時点で急増します。パフォーマンス・テストは、グラフの変曲点付近で分析されることがよくあります。
Throughput[スループット]:単位時間当たりにシステムが処理するリクエスト数。一般的に「リクエスト/秒」の単位で使用されます。
負荷が増加すると、スループットは徐々に飽和し、低下し始めます。性能テストはしばしば図の変曲点付近で分析されます。
QPSは最大スループット能力、TPSは単位時間当たりのトランザクション処理数です。インターネット上でよく見かける例を挙げると、食欲旺盛な人が1秒間に10個の肉まんを食べるのと、女の子が0.1秒間に1個の肉まんを食べるのとでは、同じでしょうか?女の子は1秒で10個の肉まんを食べられないかもしれないし、長い時間食べなければならないかもしれないからです。この時、この大きな食欲はTPSに相当し、この女の子はQPSです。
並行性:
システムユーザー数:システムに登録されているユーザーデータの総数
オンラインユーザー数:一定期間内にシステムにアクセスしたユーザーの数で、これらのユーザーが同時にシステムにリクエストを送信するとは限りません。
 同時ユーザー:瞬間に、同時にシステムにユーザーの数の要求を提出し、要求が同じシーンや機能に提出することができる、また、別のシーンや機能にすることができます。
システム・リソースのパフォーマンス・メトリクスの次元とは?
サーバー:CPU使用率、プロセッサーのキュー長、メモリー使用率、メモリーにスワップされたページ数、ディスクIOステータス、ネットワークカードの帯域幅使用率など。
データベース:データベース接続数、データベースの読み取り/書き込み応答時間、データベースの読み取り/書き込みスループットなど。
ネットワーク:ネットワークスループット、ネットワーク帯域幅、ネットワークバッファプールサイズ
キャッシュ:静的リソースキャッシュのヒット率、動的データキャッシュのヒット率、キャッシュスループットなど。
テスト機器:CPU使用率、プロセッサキュー長、メモリ使用率、メモリ内スワップページ数、ディスクIOステータス、ネットワークカード帯域幅使用率など。
性能試験の分類
オンラインで分類する方法は数多くありますが、個人的には、パフォーマンステストの中核となる3つのタイプがあると理解しています:
負荷テスト:まず期待値を設定し、システムに圧力を加え、期待される圧力に耐えられるかどうかを確認します。
ストレステスト:期待値を設定するのではなく、その値を探します。常にプレッシャーをかけ続けることで、パフォーマンスが低下する変曲点を見つけます。
疲労試験:負荷試験に基づくもの。
目的が異なれば、テストの手段も異なるということです。