ApacheBench でマルチ URL をサポートする方法

ApacheBench でマルチ URL をサポートする方法

標準の ab は単一の URI でのストレス テストのみをサポートしており、実際のニーズを満たしていないため、ab が複数の URL をサポートできるように次の変更が加えられています。

1. Apache httpd関連のソースコードパッケージとabツールのパッチパッケージをダウンロードします。

https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz を実行します。
https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz を実行します。
https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.37.tar.gz を取得します。
https://github.com/philipgloyne/apachebench-for-multi-url/archive/master.zip を取得します。

注意: httpd は apr と apr-util に依存します

2. aprをコンパイルしてインストールする

tar -zxf apr-1.6.5.tar.gz
cd 4月-1.6.5
./configure --prefix=/usr/local/apr
作成 && インストール

3. apr-utilをコンパイルしてインストールする

tar -zxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
作成 && インストール

4. httpdソースコード内のab.cファイルを置き換える

マスター.zip を解凍します。
tar -zxf httpd-2.4.37.tar.gz
\cp ./apachebench-for-multi-url-master/ab.c ./httpd-2.4.37/support/

5. httpdをコンパイルしてインストールする

httpd-2.4.37 をインストールします
./configure \
  --with-apr=/usr/local/apr \
  --with-apr-util=/usr/local/apr-util \
  --prefix=/usr/local/apache \
  --sysconfdir=/etc/httpd24 \
  --enable-so \
  --enable-ssl \
  --enable-cgi \
  --enable-rewrite \
  --with-zlib \
  --pcre \ で
  --with-mpm=プリフォーク\
  --enable-modules=ほとんど\
  --enable-mpms-shared=すべて 

作成 && インストール

6. 結果を確認する

apache.bin に .ab と入力します。
使用方法: /usr/local/apache/bin/ab [オプション] [http[s]://]ホスト名[:ポート]/パス
オプションは次のとおりです:
  -n リクエスト 実行するリクエストの数
  -c 同時実行 複数のリクエストを行う回数
  -t timelimit 応答を待つ最大秒数
  -b windowsize TCP送受信バッファのサイズ(バイト単位)
  -p postfile POSTするデータを含むファイル。-Tも設定することを忘れないでください
  -u putfile PUTするデータを含むファイル。-Tも設定することを忘れないでください
  -T content-type POST のコンテンツ タイプ ヘッダー、例:
          'アプリケーション/x-www-form-urlencoded'
          デフォルトは「text/plain」です
  -v 詳細度 トラブルシューティング情報をどの程度出力するか
  -w 結果をHTMLテーブルに出力します
  -i GETの代わりにHEADを使用する
  -x 属性 テーブル属性として挿入する文字列
  -y 属性 tr 属性として挿入する文字列
  -z 属性 td または th 属性として挿入する文字列
  -C 属性 クッキーを追加します。例: 'Apache=1234. (繰り返し可能)
  -H 属性 任意のヘッダー行を追加します。例: 'Accept-Encoding: gzip'
          すべての通常のヘッダー行の後に挿入されます。(繰り返し可能)
  -A属性 基本WWW認証を追加する属性
          コロンで区切られたユーザー名とパスワードです。
  -P 属性 基本プロキシ認証を追加する。属性
          コロンで区切られたユーザー名とパスワードです。
  -X proxy:port 使用するプロキシサーバーとポート番号
  -V バージョン番号を出力して終了する
  -k HTTP KeepAlive機能を使用する
  -d 提供されたパーセンタイル テーブルを表示しません。
  -S 信頼度推定値と警告を表示しません。
  -g ファイル名 収集したデータをgnuplot形式のファイルに出力します。
  -e ファイル名 配信された割合をCSVファイルで出力
  -r ソケット受信エラーで終了しません。
  -h 使用方法情報を表示する(このメッセージ)
  -L URL リスト ファイル名を使用します (例: url.txt)
  -Z ciphersuite SSL/TLS 暗号スイートを指定します (openssl ciphers を参照)
  -f プロトコル SSL/TLS プロトコルを指定します (SSL2、SSL3、TLS1、または ALL)

ab がすでに -L パラメータをサポートしていることがわかります (上記のヘルプ情報の下から 3 行目)。これで完了です。

ApacheBench をマルチ URL 対応にする方法についての記事はこれで終わりです。ApacheBench のマルチ URL 対応の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Apache Bench ストレステストツールの実装原理と使用状況分析
  • Apache Bench で Web ストレス テストを実装する方法
  • CentOS 環境に apachebench を個別にインストールする方法

<<:  HTML フォームタグチュートリアル (4):

>>:  MySQL スロークエリログの役割と公開

推薦する

MySQLの使用中に発生した問題

ここでは、MySQL の使用中に発生するいくつかの問題とその解決策を示します。 sql_mode=o...

VueでTypeScriptを使用する方法

導入近年、TypeScript を求める声がますます高まり、TypeScript はフロントエンドに...

MYSQL の binlog 最適化に関する考察の要約

質問質問 1: トランザクションをコミットするときに REDO ログをフラッシュすることによって発生...

etcd クラスターをデプロイするための docker-compose の実装手順

目次docker-compose.ymlを書くdocker-composeを実行するビルドステータス...

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

MySQL での実行計画の詳細分析

序文効率的なSQL文の書き方は、Explain実行計画の分析と切り離せません。実行計画とは何か、効率...

Vue ユニットテストに推奨されるプラグインと使用例

目次フレーム最高レベルのエラー報告活発なコミュニティとチーム冗談モカ推奨プラグインVue テストライ...

フォーム内の無効なフォームフィールドの値を送信する方法 サンプルコード

フォーム内のフォーム フィールドが無効に設定されている場合、フォーム フィールドの値は送信されません...

トリガーメソッドを使用して、ファイルタイプの入力をクリックせずにポップアップファイル選択ダイアログボックスを実現します。

トリガー メソッドを使用できます。JavaScript にはネイティブのトリガー関数はありません。自...

Linux gccコマンドの具体的な使い方

01. コマンドの概要gcc コマンドは、GNU がリリースした C/C++ ベースのコンパイラを使...

MySQL の高可用性アーキテクチャの完全な説明: MHA アーキテクチャ

目次1. はじめに2. 構成3. 作業プロセス4. 建築5. 表示例MHA (Master HA) ...

WINDOWS での MYSQL のインストールに関する詳細なチュートリアル

1. インストールパッケージをダウンロードする- お使いのコンピュータシステムに応じて適切なバージョ...

Vue3は独自のページングコンポーネントをカプセル化します

この記事の例では、vue3 が独自のページングコンポーネントをカプセル化する具体的なコードを参考まで...

MySQLコマンドプロンプトで入力エラーが発生したときに前のコマンドを修正する方法

目次現在の問題解決プロセス具体的な手順解決した事件現在の問題MySQL コマンド プロンプトに複数行...

Flash が HTML div 要素を覆わないようにする方法

今日、フラッシュ広告のコードを書いていたとき、フラッシュに付属するリンクはポップアップ広告と間違われ...