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初心者が初めてよく使うコマンドを試してみる練習記録

推薦する

Linux+ApacheサーバURLの大文字と小文字の区別の問題を解決する

今日、問題が発生しました。ブラウザのアドレスバーにURLアドレスを入力する際、ページを正常にアクセス...

LinuxでHomebrewを使用する正しい方法

多くの人が Linux Homebrew を使用しています。これをより良く使用するための 3 つのヒ...

Vueでルーティング権限を動的に設定する主なアイデア

以前、インターネット上で動的ルーティング設定をいくつか見たことがありましたが、現在のプロジェクトとは...

Vue の 2 択タブバー切り替えの新しいアプローチ

問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...

Linux centos7 に phpMyAdmin をインストールするチュートリアル

yum install httpd php mariadb-server –yランプの動作環境を設定...

黒、白、グレーの控えめでエレガントなウェブデザインを鑑賞

クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...

HTMLページがincludeを使用してphpファイルをインポートした後に余分な空白行があります

インターネットで見つけた方法は効果的ですinclude によって導入されたフッター ファイルとヘッダ...

HTMLフォーム送信方法のケーススタディ

フォームの送信方法をまとめると次のようになります。 1. 送信ボタンを使用して送信します。送信ボタン...

Element-uiはテーブル内のセルを直接クリックして編集します

目次成果を達成する実装コード最近、会社でelementUIを使い始めたため、開発の過程でテーブルのセ...

WeChatアプレットがSMSログインを実装

目次1. インターフェース効果のプレビュー2.uViewのインストール3.uViewの設定3.1 m...

WeChatアプレットが複数行テキストのスクロール効果を実現

この記事の例では、WeChatアプレットで複数行のテキストスクロールを実装するための具体的なコードを...

MySQLデータの同時更新を処理する方法

UPDATE はロックしますか?以下のような場合、SQL文はロックされますか? テーブル1を更新しま...

MySQLデータベースのマスタースレーブレプリケーションと読み取り書き込み分離に関する詳細なチュートリアル

目次序文1. MySQL マスタースレーブレプリケーション1. サポートされているレプリケーションの...

img usemap 属性 中国地図リンク

HTML img タグ: Web ページに導入される画像を定義します。興味深い usemap 属性も...

JavaScriptにおけるPromiseの使い方と注意点について(推奨)

1. 約束の説明Promise は、非同期操作の最終状態 (失敗または正常完了) とその結果の値を...