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 スロークエリログの役割と公開

推薦する

SQLシリアル番号取得コード例

この記事は主にSQLシリアル番号取得コード例を紹介します。記事ではサンプルコードを詳細に紹介しており...

Vue の computed と watch の違いを分析する

目次1. 計算入門1.1、getとsetの使い方1.2. 計算された属性キャッシュ2. 時計の紹介3...

Redmine の Docker インストール手順

イメージをダウンロードします(オプションの手順です。省略した場合は、手順 3 と 4 で自動的にイン...

MySQLテーブル構造を変更するコマンドを表示する

簡単な説明エディターはデータベースのエンコードが間違っているために問題に遭遇することが多く、これは頭...

MySQL監視ツールmysql-monitorの詳細な説明

1. 概要mysql-monitor MYSQL 監視ツール、最適化ツール、1 つの Java Sp...

フレームセットを使用して複雑なページレイアウトを実装するためのテクニックの概要

コードをコピーコードは次のとおりです。 <html> <!--混合フレームレイアウ...

js の toString メソッドの 3 つの機能

目次1. toStringメソッドの3つの機能2. オブジェクトを表す文字列を返す3. カスタム t...

擬似分散グラフィックを実現するための VMware 構成 Hadoop チュートリアル

1. 実験環境シリアルナンバープロジェクトソフトウェアとバージョン1オペレーティング·システムCen...

MYSQL の解凍版における中国語の文字化け問題の解決方法

MYSQLの解凍バージョンがインストールされます1: 解凍後、my.ini ファイルをコピーし、バイ...

MySQLクエリが遅い場合の理由と解決策

Python プログラムを書き、Mysql ライブラリを集中的に操作したためです。データ量が多くない...

MySQL を解凍してインストールおよび完全に削除する方法の詳細なグラフィック説明

1. MySQLをインストールする(1)ダウンロードしたMySQLの圧縮ファイルをMySQLをインス...

DOCTYPE宣言の機能と使い方の詳しい説明

1. ブラウザのレンダリングモードとdoctype一部の Web ページは標準に従って作成されていま...

Nodejsはgitee実装コードに自動的に同期するドキュメント同期ツールを作成します

本来の意図このツールを作った理由は、コンピューターを使用しているときにいつでも毎日の仕事や生活を記録...

HTML の基本 - ハイパーリンク スタイルを設定する簡単な例

*** ハイパーリンクのスタイル設定の例a:link クリックされる前のハイパーリンクの状態a:vi...

Docker ログが多すぎてディスクがいっぱいになる場合の対処方法

複数の Docker コンテナがデプロイされたサーバーがあり、各 Docker コンテナが stde...