ホームページ >運用・保守 >Apache >超実用的!ストレス テストの成果物を共有する: ab ツール

超実用的!ストレス テストの成果物を共有する: ab ツール

青灯夜游
青灯夜游転載
2022-05-12 14:38:443364ブラウズ

ソフトウェア ストレス テストは、すべての重要なソフトウェア テスト作業の一部である基本的な品質保証動作です。したがって、ストレステストは非常に重要ですが、ストレステストをどのように行うか?今回は超実用的なストレステストツール「abツール(Apache bench)」を紹介しますので、お役に立てれば幸いです。

推奨される関連ビデオ チュートリアル: 「 数千万のデータ同時実行ソリューション (理論的実践)

書き込み内容前回


ab ツールを学ぶ前に、ストレス テストに関するいくつかの概念を理解する必要があります

  • スループットレート (1 秒あたりのリクエスト数)
    概念: サーバーの同時処理能力の定量的な説明。単位は reqs/s で、一定数の同時ユーザーに対して単位時間あたりに処理されるリクエストの数を指します。一定の同時ユーザー数の下で単位時間あたりに処理できるリクエストの最大数を最大スループット率と呼びます。
    計算式: リクエストの総数 / これらのリクエストの処理にかかった時間、つまり
    1 秒あたりのリクエスト = 完了したリクエスト / テストにかかった時間

  • 同時接続数
    概念: ある時点でサーバーによって受け入れられるリクエストの数、簡単に言えば、セッションです。

  • 同時ユーザー数 (同時実行レベル)
    概念: この概念と同時接続数の違いに注意してください。同時に複数のセッション、つまり接続の数を持ちます。

  • ユーザーの平均リクエスト待ち時間 (リクエストあたりの時間)
    計算式: すべてのリクエストの処理にかかった時間 / (リクエストの合計数 / 同時ユーザー数) )、つまり、
    リクエストあたりの時間 = テストにかかった時間 / (リクエストの完了 / 同時実行レベル)

  • サーバーの平均リクエスト待機時間 (リクエストあたりの時間: すべての同時実行全体)
    計算式: すべてのリクエストを完了するのにかかる時間/リクエストの総数、つまり
    Time Take for /testsCompleterequests
    ご覧のとおり、これは逆数です。スループットレートの。
    同時に、= ユーザー リクエストの平均待機時間 / 同時ユーザー数、つまり
    リクエストあたりの時間 / 同時実行レベル

##Abツール紹介


abの正式名称は: apache bench

  • 公式サイトの説明は以下の通り

ab は、Apache Hypertext Transfer Protocol (HTTP) のパフォーマンス テスト ツールです。その設計意図は、現在インストールされている Apache の実行パフォーマンスを描写することであり、主に、インストールされている Apache が 1 秒あたりに処理できるリクエストの数を示すことです。

  • 他の Web サイトからの説明:

ab は、Apache 独自のストレス テスト ツールです。 ab は非常に実用的で、Apache サーバー上で Web サイトのアクセス ストレス テストを実行できるだけでなく、他の種類のサーバー上でもストレス テストを実行できます。 nginx、tomcat、IIS など。

ab ツールをダウンロード


Apache 公式 Web サイト http://httpd.apache.org/ にアクセスし、 apache をダウンロード

ab ツールを開始します


Windows 環境では、Apache のインストール パスを C:\apache\Apache24\ として取得します。例として

ターミナルを開いてコマンド
cd C:\apache\Apache24\bin
を入力して ab

# を開始します。 ##テストを開始


コマンド


ab -n 100 -c 10 http://test.com/ を入力します。 -n はリクエストの数を表します。 - c は同時実行数を表します。

その他のコマンドについては、http://apache.jz123.cn/programs/ab.html

# を参照してください。

##テスト結果の分析

上記のコマンドを実行すると、テストレポートが出力されます

テストを完了しますレポート

この段落は Web を示しています。サーバー情報から、サーバーは nginx を使用し、ドメイン名は wan.bigertech.com、ポートは 80
  • であることがわかります。

サーバー情報

この段落は、要求されたドキュメントに関する関連情報です。場所は「/」で、ドキュメントのサイズは 338436 バイトです (これは http 応答の本文の長さです)

文書情報

このセクションでは、ストレス テストのいくつかの
    重要な指標を示します

重要な指標

Concurrency Level: 100
//并发请求数
Time taken for tests: 50.872 seconds
//整个测试持续的时间
Complete requests: 1000
//完成的请求数
Failed requests: 0
//失败的请求数

Total transferred: 13701482 bytes
//整个场景中的网络传输量
HTML transferred: 13197000 bytes
//整个场景中的HTML内容传输量

Requests per second: 19.66 [#/sec] (mean)
//吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request: 5087.180 [ms] (mean)
//用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 50.872 [ms] (mean, across all concurrent requests)
//服务器平均请求处理时间,大家最关心的指标之三

Transfer rate: 263.02 [Kbytes/sec] received
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

  • この段落は、ネットワークに費やした時間の内訳を表します


ネットワーク消費時間

  • このセクションは各リクエストの処理時間の分布です。処理時間の 50% は 4930ms 以内、処理時間の 66% は 5008ms 以内です...、重要なことは90% の処理時間を確認します。


回答

ログインに関する質問


ストレス テストではユーザーがログインする必要がある場合があります。どうすればよいですか?
次の手順を参照してください。

  • アカウントとパスワードでログインした後、開発者ツールを使用して、このセッションを識別する Cookie 値 (セッション ID) を見つけて書き込みます。

  • Cookie を 1 つだけ使用する場合は、コマンド
    ab -n 100 -C key=value http://test.com/ を入力するだけです。

    複数の Cookie が必要な場合は、ヘッダーを直接設定します:
    ab -n 100 -H "Cookie: Key1=Value1; Key2=Value2" http://test. com/

概要


# 一般的に、ab ツール ab は小さく、シンプルなのですぐに始めて学ぶことができ、必要な基本的なパフォーマンス指標を提供できますが、結果はグラフ表示されず、監視できません。したがって、ab ツールは一時的な緊急タスクや簡単なテストに使用できます。

同じ種類のストレス テスト ツールには、Webbench、Siege、http_load などがあります。

推奨される学習: nginx チュートリアル

以上が超実用的!ストレス テストの成果物を共有する: ab ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。