包囲 は、主に負荷テストとベンチマークに焦点を当てた、オープンソースのマルチスレッド回帰テストとベンチマークユーティリティです。ユーザー定義の数のシミュレートされたユーザーを使用して単一のURLをストレステストしたり、多くのURLをメモリに読み込んで同時にストレスをかけたりすることができます。プログラムは、記録されたヒットの総数、転送されたバイト数、応答時間、同時実行性、およびリターンステータスを報告します。
次のチュートリアルでは、SiegeBenchmarkingToolをUbuntu22.04LTS Jammy Jellyfishにインストールする方法と、コマンドラインターミナルを使用してサーバーの制限をテストするための基本的なコマンドを学習します。
チュートリアルを進める前に、システムが既存のすべてのパッケージで最新であることを確認することをお勧めします。
sudo apt update && sudo apt upgrade
Siegeのインストール–APTメソッド
デフォルトでは、Ubuntu22.04のデフォルトリポジトリにSiegeがあります。ソフトウェアをインストールするには、次のコマンドを使用します。
sudo apt install siege -y
次に、インストールされているバージョンを確認します。
siege --version
包囲を構成する方法
まず、コマンドコマンドとその意味を理解します。
-V, --version VERSION, prints the version number.
-h, --help HELP, prints this section.
-C, --config CONFIGURATION, show the current config.
-v, --verbose VERBOSE, prints notification to screen.
-q, --quiet QUIET turns verbose off and suppresses output.
-g, --get GET, pull down HTTP headers, and display the transaction. Great for application debugging.
-p, --print PRINT, like GET only it prints the entire page.
-c, --concurrent=NUM CONCURRENT users, default is 10
-r, --reps=NUM REPS, number of times to run the test.
-t, --time=NUMm TIMED testing where "m" is modifier S, M, or H
ex: --time=1H, one hour test.
-d, --delay=NUM Time DELAY, random delay before each request
-b, --benchmark BENCHMARK: no delays between requests.
-i, --internet INTERNET user simulation, hits URLs randomly.
-f, --file=FILE FILE, select a specific URLS FILE.
-R, --rc=FILE RC, specify an siegerc file
-l, --log [=FILE] LOG to FILE. If FILE is not specified, the default is used: /var/log/siege.log
-m, --mark="text" MARK, mark the log file with a string. between .001 and NUM. (NOT COUNTED IN STATS)
-H, --header="text" Add a header to request (can be many)
-A, --user-agent="text" Sets User-Agent in request
-T, --content-type="text" Sets Content-Type in request
-j, --json-output JSON OUTPUT, print final stats to stdout as JSON
--no-parser NO PARSER, turn off the HTML page parser
--no-follow NO FOLLOW, do not follow HTTP redirects
したがって、Siegeを使用するためのコマンド構文は次のようになります。
siege options URL
ほとんどのデフォルトで問題ないため、Siegeの設定は非常に簡単です。変更する必要がある主なオプションはログパスです。
まず、nanoエディターを使用して構成ファイルを開きます。
sudo nano /etc/siege/siegerc
行を見つけてコメントを外します
例:
次に、ファイルを保存します (CTRL + O) 次に、 (CTRL + X) 終了します。
Siegeを使用したWebサイトのテスト(ライブテスト)
次に、Webサーバーをテストします。これは、一部のファイアウォールとWAFに対するDDOS攻撃のように見えることに注意してください。したがって、HTTPベンチマークツールを使用する前に、許可を得ていることを確認してください。理想的には、サーバー以外ではこれを使用しないのが最善です。
まず、 siegeを使用します -t 1m 次のように。
siege https://www.example.com -t 1m
これにより、デフォルトの25人の同時ユーザーによる1分間のストレステストが行われます。ベンチマークが完了すると、結果が表示されます。
例:
1分は単なる例であるため、通常は5〜15分実行することに注意してください。
次に、含めることができるもう1つの変数は、ワーカーの数です。例: -c 100 100人の労働者を追加します。
siege https://www.example.com -c 100 -t 2m
サイトで毎日実行する特定のテストがある場合は、構成ファイルで、時間、同時ユーザー、データ、およびタイムスタンプを編集できます。
Siegeで複数のWebサイトをテストする
システム管理者または複数のドメインとサイトを管理している場合のもう1つの便利な機能は、次のファイルの多数の包囲機能を使用することです /etc/siege/urls.txt
nanoでファイルを開きます:
sudo nano /etc/siege/urls.txt
次に、ベンチマークテストを行うURLを追加します:
https://www.example.com
https://www.example2.com
http://192.168.50.1
ファイルを保存するには
複数のWebサイトのストレステストを実行するには、次の手順を実行します。
siege -f /etc/siege/urls.txt