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 における count(*)、count(1)、count(col) の違いのまとめ

序文count 関数は、テーブルまたは配列内のレコードをカウントするために使用されます。count(...

H5レイアウト実装手順における天井と底部の吸引を解決するための純粋なCSS

どのような製品について言及したいですか?最近、ユーザーがマーケティングの変化をよりよく観察できるよう...

Linuxはデータディスクがアンインストールされ、新しいカスタムイメージを作成できることを確認します。

カスタムイメージに関するよくある質問データディスクを表示するにはどうすればいいですか? df コマン...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

202 無料の高品質 XHTML テンプレート (1)

ここで 123WORDPRESS.COM はこれらのテンプレートの最初の部分を紹介します。各テンプレ...

MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル (Windows 10 X64)

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

MySQL の Like の概念と使用法の説明

Like は中国語で「好き」を意味しますが、MySQL データベースに適用される場合、Like は、...

アイデアコンパイラvueインデントエラー問題シナリオの分析

プロジェクトシナリオ: Vueプロジェクトを実行したらインデントエラーが出ました。ideaコンパイラ...

順序再構築に関する簡単な説明: MySQL シャーディング

目次1. 目的2. 環境整備1. 基本情報2. データベース環境の準備3. データベースを構築し、サ...

MySQL DML ステートメントの概要

DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入...

SQL の左結合と右結合の原理と例の分析

テーブルが 2 つあり、テーブル A のレコードがテーブル B に存在しない可能性があります。左結合...

docker を使用して kafka プロジェクトをデプロイする Centos6 方法の分析

この記事では、Docker を使用して Centos6 に Kafka プロジェクトをデプロイする方...

CSS インライン スタイル、埋め込みスタイル、外部参照スタイルを使用する 3 つの方法

3 つの方法を使用する簡単な例は次のとおりです。インラインスタイル: <!doctypehtm...

Mysql InnoDBとMyISAMの違いの分析

MySQL は、myisam、innodb、memory、archive、example など、多く...

Vueシャトルボックスは上下の動きを実現します

この記事の例では、vueシャトルボックスを上下に動かすための具体的なコードを参考までに共有しています...