Apache Bench ストレステストツールの実装原理と使用状況分析

Apache Bench ストレステストツールの実装原理と使用状況分析

1: スループット(1秒あたりのリクエスト数)

サーバーの同時処理能力を定量的に表したもので、reqs/s で測定されます。これは、一定数の同時ユーザーのもとで単位時間あたりに処理されるリクエストの数を指します。一定数の同時ユーザーのもとで単位時間あたりに処理できるリクエストの最大数を最大スループットと呼びます。

注意: スループットは同時ユーザー数に基づきます。この文は 2 つの意味を表します: 1. スループット レートは同時ユーザー数に関係します。2. スループット レートは、通常、同時ユーザー数によって異なります。

計算式: リクエストの総数 / これらのリクエストの処理に費やされた時間、つまり、

1秒あたりのリクエスト数 = 完了したリクエスト数 / テストにかかった時間

2: 同時接続数

同時接続数とは、特定の瞬間にサーバーが受け入れるリクエストの数、つまり簡単に言えばセッションの数を指します。

3: 同時ユーザー数(同時実行レベル)

この概念を同時接続数と区別することが重要です。ユーザーは同時に複数のセッションまたは接続を持つ場合があります。 HTTP/1.1 では、IE7 は 2 つの同時接続をサポートし、IE8 は 6 つの同時接続をサポートし、FireFox3 は 4 つの同時接続をサポートするため、同時ユーザー数はこの基数で割る必要があります。

4: ユーザーリクエストの平均待ち時間(リクエストあたりの時間)

計算式:すべてのリクエストの処理に要した時間 / (リクエストの総数 / 同時ユーザー数)、つまり

リクエストあたりの時間 = テストにかかる時間 / (完了したリクエスト数 / 同時実行レベル)

5: サーバーの平均リクエスト待機時間 (リクエストあたりの時間: すべての同時リクエスト全体)

計算式:すべてのリクエストの処理にかかった時間/リクエストの総数、つまり

/ テストにかかる時間リクエストを完了する

ご覧のとおり、これはスループット レートの逆数です。

同時に、平均ユーザーリクエスト待機時間 / 同時ユーザー数、つまり、

リクエストあたりの時間 / 同時実行レベル

公式サイトダウンロードアドレス: https://www.apachelounge.com/download/

ダウンロード後、解凍し、cmd を使用して現在のプロジェクト解凍ディレクトリに入ります。

次に、シェル コマンド実行インターフェイスに入ります (bin ディレクトリに入ります)。

テストコマンド:

./ab -n 100 -c 10 http://localhost:8085/linewell/test1/pass/testApacheBench.do

-n はリクエストの数を示し、-c は最大で複数のリクエストを同時に送信できることを示します。

私の Java テストでは、-c が 1 に設定されている場合、Java バックエンド コントローラーは 1 秒間遅延し、1 つずつ処理するため、基本的に 100 回の処理時間が必要になります。 -c が 10 の場合、一度に 10 個が処理されます。

出力:

これは ApacheBench バージョン 2.3 です <$Revision: 1843412 $>
著作権 1996 Adam Twiss、Zeus Technology Ltd、http://www.zeustech.net/
Apache Software Foundation にライセンス供与されています (http://www.apache.org/)

ローカルホストのベンチマーク(しばらくお待ちください).....完了


サーバーソフトウェア:
サーバーホスト名: localhost
サーバーポート: 8085

ドキュメントパス: /linewell/test1/pass/testApacheBench.do
文書の長さ: 0 バイト

同時実行レベル: 10
テストにかかった時間: 0.077秒
リクエストを完了: 100
失敗したリクエスト: 0
2xx以外の応答: 100
転送合計: 9200 バイト
転送された HTML: 0 バイト
1秒あたりのリクエスト数: 1299.09 [#/秒] (平均)
リクエストあたりの時間: 7.698 [ms] (平均)
リクエストあたりの時間: 0.770 [ms] (平均、すべての同時リクエスト全体)
転送速度: 116.72 [Kbytes/sec] 受信

接続時間 (ミリ秒)
    最小 平均[+/- 標準偏差] 中央値 最大値
接続: 0 0 0.3 0 1
処理: 1 5 3.4 5 27
待機中: 1 4 3.1 4 26
合計: 2 5 3.4 5 27

一定時間内に処理されたリクエストの割合(ミリ秒)
 50% 5
 66% 6
 75% 7
 80% 7
 90% 9
 95% 11
 98% 11
 99% 27
 100% 27 (最長リクエスト)

出力結果分析:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Apache Bench で Web ストレス テストを実装する方法
  • Apache ab同時負荷ストレステストの実装方法
  • Apache abツールを使用してApacheサーバーで簡単なストレステストを実行します。
  • Apache ストレステストと Web パフォーマンス最適化に関する一般的な知識のまとめ
  • Apache ab ツールページストレステストの戻り結果の解釈
  • Apache ストレステストツールのインストールと使用

<<:  Vueコンポーネント通信方法事例まとめ

>>:  Docker初心者が初めてよく使うコマンドを試してみる練習記録

推薦する

HTML テーブルタグチュートリアル (20): 行の背景色属性 BGCOLOR

BGCOLOR 属性を使用して、行の背景色を設定できます。基本的な構文<TR BGcolor...

MySQLクエリが遅い理由

目次1. 遅いところはどこですか? 2. 不要なデータをクエリしましたか? 1. 不要なレコードをク...

MySQL 5.7.20 解凍版のインストールとルートパスワードの変更に関するチュートリアル

1. MySQL アーカイブ (解凍版) をダウンロードするURL: https://downloa...

Docker で MySQL 接続と設定ファイルの最大数を変更する

1. MySQLイメージを見つける ドッカーps 2. ミラーmysqlイメージを入力する dock...

Windows Server 2016 に Oracle をインストールする方法

1. Oracle をインストールします。インターネット上には Oracle のインストール手順が多...

MySQL トランザクション分離レベルの表示と変更の例

トランザクション分離レベルを確認するMySQL では、'%tx_isolation%'...

Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明

Vueイメージドラッグアンドドロップズームコンポーネントの具体的な使い方は参考までに。具体的な内容は...

MySQL 8.0.16 winx64 のインストールと設定方法のグラフィックチュートリアル (win10 の場合)

この記事では、MySQL 8.0.16 winx64のインストールと設定の具体的な方法を記載します。...

deepin apt コマンドを使用して最新バージョンの docker をインストールする方法

ステップ1: Ubuntuソースを追加するルートに切り替える suルートソフトウェアソースファイルの...

ウェブデザイナーのウェブデザイン学習経験とスキルのまとめ

会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...

docker compose を使用して fastDFS ファイル サーバーを構築する方法

前回の記事では、docker compose を使用して FastDfs ファイル サーバーをインス...

Docker クリーンアップ環境操作

丁寧に掃除を始めましょう!未使用ボリュームの一覧docker ボリューム ls -qf dangli...

Webデザインチュートリアル(6):デザインへの情熱を持ち続ける

<br />前の記事:Webデザインチュートリアル(5):Webビジュアルデザイン。 1...

mysqlにコメント情報を追加する実装

序文最近、MySQL に関するメモをいくつか尋ねる人がいたので、ブログ記事を書かなければなりません。...