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

推薦する

HTML ページの先頭に戻るいくつかの実装の概要

最近、ウェブサイトを開発する際にトップに戻るボタンを作成する必要がありますが、私は主にバックエンドの...

CSS で要素を垂直方向に中央揃えする 7 つの方法

【1】中央の要素の幅と高さを知る絶対値 + 負のマージンコードの実装 .wrapBox5{ 幅: 3...

内部 IP アクセスのみを許可する Nginx プロキシ設定を追加する方法

位置 / { インデックス index.jsp; proxy_next_upstream http...

フロア効果を実現するためのJavaScript

この記事では、フロア効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。...

仮想マシン VMware に Kali Linux をインストールする最新の超詳細なグラフィック チュートリアル

目次1. システムイメージファイルをダウンロードする2. 新しい仮想マシンを作成する3. Kali ...

postcss-pxtorem モバイル適応の実装

コマンドを実行してプラグインpostcss-pxtoremをインストールします npm インストール...

Dockerイメージのエクスポートとインポート操作

基本イメージが以前に構成されていて、これらのイメージが他の場所でも必要な場合はどうなりますか?回答:...

CSS3 フィルターの違いと応用の詳しい説明:ドロップシャドウフィルターとボックスシャドウ

標準 CSS3 を使用して要素の影の効果を実現するには、2 つの手順があります。1 つ目は一般的なb...

MySQL マスタースレーブ同期における server-id の例の詳細な説明

序文MySQL クラスターを構築する場合、当然のことながら、データの一貫性を確保するために、データベ...

WeChatアプレットコンポーネントライフサイクルの落とし穴の記録

通常、コンポーネントのライフサイクルは、ビジネス ロジックが始まる場所です。ビジネスシナリオが複雑で...

Vue の新しいパートナー TypeScript クイックスタート実践記録

目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...

ウェブページ作成時のHTMLタグの使用に注意してください

HTML はプレゼンテーションからコンテンツへの移行を試みており、コンテンツの意味(HTML) とプ...

gorm で MySql データベースを操作する方法

1. テーブル内のフィールドの大文字と小文字の区別を設定するgorm クエリを使用する場合、MySQ...

Vue3はCSSの無限シームレススクロール効果を実装します

この記事では、CSS無限シームレススクロール効果を実現するためのvue3の具体的なコードを参考までに...