1 ストレステストの指標1.1 秒あたりTPS は Transactions Per Second の略で、1 秒あたりに処理されるトランザクションの数を表します。トランザクションとは、クライアントがサーバーにリクエストを送信し、サーバーが応答する(処理を完了する、つまり、クライアントがリクエストを開始して応答を取得する)プロセスです。クライアントはリクエストを送信した時点で計測を開始し、サーバーからの応答を受信した時点で計測を終了します。これにより、使用された時間と完了したトランザクションの数を計算し、最終的にこの情報を使用して評価スコアを作成します。トランザクションは複数のリクエストに対応する場合があります。データベースのトランザクション操作を参照してください。 1.2 クォータベースQPS は Queries Per Second の略で、1 秒あたりに処理できるクエリの数 (クライアントがリクエストを開始してから応答を受信するまでの処理全体) です。これは、サーバーが 1 秒あたりに応答できるクエリの数であり、特定のクエリ サーバーが指定された時間内に処理するトラフィックの量を測定するものです。 英語のフルネームから、クエリを意味することがわかります。インターネットでは、ドメイン ネーム システム サーバーとして機能するマシンのパフォーマンスは、1 秒あたりのクエリ レートで測定されることが多いようです。フェッチ/秒、つまり 1 秒あたりの応答要求の数に対応します。 名目上はクエリを意味しますが、実際には、単一のインターフェース サービスの処理能力を QPS で表すのが一般的です (クエリ操作でない場合でも)。 1.3 平均処理時間(RT)RT: 応答時間、リクエストを処理するために必要な平均処理時間。 また、ネットワークの状態によっては極端な状況が発生する可能性があるため、通常はリクエストの 90% の平均処理時間に重点を置いています。 1.4 同時ユーザー数(同時実行性)テスト対象のインターフェースに対して 1 秒あたりにリクエストを開始するユーザーの数。 1.5 変換関係QPS = 同時接続数 / 平均応答時間 同時実行性 = QPS * 平均応答時間 たとえば、3,000 人のユーザー (同時実行) がテスト対象のインターフェースに同時にアクセスするとします。ユーザー側の統計によると、3,000 人のユーザーの平均応答時間は 1188.538 ミリ秒です。つまり、QPS=3000/1.188538s=2524.11 q/s となります。 このテストは次のように説明できます。3000の同時接続の場合、QPSは2524.11、平均応答時間は1188.538msです。 1.6 TPSとQPSの違いこの質問を始めたとき、私はこれら 2 つは同じものだと思っていましたが、Zhihu で英語名を見た後、次のように考えるようになりました。 QPS は 1 秒あたりに処理できるクエリの数を指しますが、現在では一般的に、単一のサービス インターフェイスが 1 秒あたりに処理できるリクエストの数を指す場合にも使用されます。 TPS は 1 秒あたりに処理されるトランザクションの数です。トランザクションが 1 つのサービス インターフェイスだけで完了する場合は、QPS と見なすこともできます。 PS: RPS (1秒あたりのリクエスト数) という概念もあります。特定の条件下では、1 秒あたりのリクエスト数は QPS や TPS と類似しています。 2 ストレステスト方法ストレス テスト ツールを使用して複数のユーザーをシミュレートし、システムのストレス テストを行うことができます。ストレステストツールについては後ほど紹介します。 テスト方法は、リクエストの総数を一定に保ち、同時実行数を徐々に増やして、QPS と平均応答時間の変化を観察します。 たとえば、リクエストの総数が 10,000 の場合、同時実行数を 100 にして QPS 値をテストし、その後 200、300、400、500 などのようにテストします。 システムのスループットは通常、TPS と同時実行性の 2 つの要素によって決まります。各システムには、これら 2 つの値に対する相対的な制限があります。アプリケーション シナリオのアクセス プレッシャーの下では、1 つの項目がシステムの最大値に達する限り、システムのスループットは増加しません。プレッシャーがさらに高まると、システムのスループットはむしろ低下します。その理由は、システムが過負荷になり、コンテキスト スイッチやメモリなどの他の消費によってシステム パフォーマンスが低下するためです。以下は、ab ツールを使用したストレス テスト チャートです。 図から、同時実行数が 2000 のときに QPS が約 2500 に達し、その後の同時実行数の増加が 2500 のままであることがわかります。これは、この構成でのこのインターフェイスの QPS が 2500 であることを示しています。つまり、システムは 1 秒あたり約 2500 件のリクエストしか処理できません。その後の同時実行数の増加は、平均応答時間の増加につながるだけです。 (追記: 1 秒あたり 2,500 件のリクエストしか処理できず、同時に 7,000 件のリクエストが処理されるため、当然リクエストが蓄積され、平均応答時間が長くなります。) 14,000 を超えると QPS も急激に低下し始め、システムが過負荷になり、パフォーマンスが急激に低下し始めていることがわかります。一般的に、平均応答時間が特定の値に達すると、それ以上は許容できないと考えられます。 3 関連文書IoT デバイスの同時接続数を推定するブログ: https://www.jb51.net/article/231516.htm ストレステストツール AB ツール: https://www.jb51.net/article/231502.htm Node Express フレームワークのストレステスト結果: https://www.jb51.net/article/231512.htm これで、サーバー ストレス テスト (TPS/同時実行性) の概念と方法に関するこの記事は終了です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援して頂ければ幸いです。 以下もご興味があるかもしれません:
|
正式な環境でアップグレードする場合は、データと重要な設定をバックアップしてください。アップグレードに...
React コンポーネントのライフサイクル機能とは何ですか?ライフサイクル関数は、ES6 構文クラス...
目次1. 準備2. コマンドラインの記述2.1 バージョンと説明を追加する2.2 パスワードの長さを...
解決プロセス:方法1: CentOS7.3 のデフォルトのカーネル バージョンは低く、3.10.0-...
この記事では、audioContextを介して3Dサウンド効果を実現するためのjsの具体的なコードを...
目次react-nativeプロジェクトの初期化react-nativeプロジェクトをインストールす...
1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...
目次概要Canvas API: グラフィックスの描画パス線種矩形アーク文章グラデーションと画像の塗り...
基本的な構文: <input type="hidden" name=&qu...
目次1. JavaScriptで配列を作成する方法2. 配列メソッドの概要3. 方法の詳細な説明1....
1. コンテナに入るdocker run [オプション] イメージ名 [起動コンテナに渡されるコマン...
質問は https://www.zhihu.com/question/440231149 から参照さ...
序文MySQL 8.0.13 では、インデックス スキップ スキャン (インデックス ジャンプ スキ...
1. 前述の通り数年前、Linux ドライバーのコードを読んでいたときにこのマクロを見ました。長い間...
各テーブルの行数をカウントするために使用される MySQL count() 関数は、誰もがよく知って...