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 を応援して頂ければ幸いです。 以下もご興味があるかもしれません:
|
序文:この知識を理解する必要がある人は、すでにプロセス間通信とスレッド間通信の基本的な理解を持ってい...
nginx Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー...
目次序文1. vue-cliを使う1. Toastコンポーネントを定義する2. main.jsで設定...
目次1. スクリプトタグを使用してファイルをインポートする1. ローカルファイルをインポートする2....
mysqlは指定された期間内の統計データを取得します年別統計 選択 カウント(*)、 DATE_FO...
ユニアプリアプレットはWeChatでも同様のドロップダウン問題を抱えることになる解決策は、app.v...
今日の Web デザインでは、非常に大きなフォントが表示される傾向があります。これらのオープンソース...
効果画像(境界線の色が薄すぎるので、{} で囲みます): { }参考リンク Pure CSS バブル...
概要: この記事では、Avro データをシリアル化して生成し、FlinkSQL を使用して解析する方...
目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...
テーブルの背景色は、BGCOLOR 属性を通じて設定できます。基本的な構文<テーブル BGCO...
私たちの生活、仕事、勉強において、ソーシャル ネットワークは徐々に将来のインターネット発展のトレンド...
Samba サービスでも NFS サービスでも、サーバーの起動時にリモート共有リソースが自動的にマ...
1 はじめに PostgreSQL は、非常に充実した機能を備えたフリーソフトウェアのオブジェクトリ...
概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...