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

推薦する

JavaScript で知らない Object.entries の使い方

目次序文1. 共通オブジェクトを反復処理するには for...of を使用します2. 通常のオブジェ...

MySQL における EXISTS と IN の使用法の比較

1. 使用法: (1)EXISTSの使用 ucsc_project_batch a から、存在する場...

MySQL トリガーの使用方法と利点と欠点の紹介

目次序文1. トリガーの概要2. トリガーの作成2.1 トリガー構文の作成2.2 コード例3. トリ...

燃える炎効果の英語フォント16種類をシェアする

私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...

独立した IP を介して Windows コンテナ イントラネットの Docker に直接アクセスする方法

Docker では、ポート マッピングを使用して、Docker コンテナーのサービスをホスト マシン...

MySQLのトランザクションとデータ一貫性処理の問題を分析する

この記事では、セキュリティ、使用方法、同時処理などを通じて、MySQL トランザクションとデータの一...

Linux に mysql をインストールするときに /etc に my.cnf ファイルがない問題を解決する

今日、mysql ポートを変更したいと思ったのですが、/etc/ ディレクトリに my.cnf ファ...

Docker で FastDFS をデプロイする方法

Dockerにfastdfsをインストールするディレクトリをマウント-v /e/fdfs/トラッカー...

Net Core実装プロセス分析のDoc​​kerインストールと展開

1. Dockerのインストールと設定 #CentOS をインストールし、Docker パッケージを...

MySQL が起動直後にシャットダウンする問題 (ibdata1 ファイルの破損が原因) に対する完璧な解決策

コンピュータ ルームのサーバー上の mysql がしばらく実行されていたのですが、突然、再起動しても...

HTMLポップアップdivはモバイルの中央揃えを実現するのに非常に便利です

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

Vue スキャフォールディング学習プロジェクト作成方法

1. 足場とは何ですか? 1. Vue CLI Vue CLI は、Vue.js をベースにした迅速...

IntelliJ IDEA で Java を使用して MySQL データベースに接続する方法の詳細な説明

1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...

JSコードコンパイラMonacoの使い方

序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみ...

Docker+nextcloudで個人用クラウドストレージシステムを構築

1. Dockerのインストールと起動 yum で epel-release をインストールします ...