Siege-Webサヌバヌのストレステスト甚ナヌティリティ

この資料が誰かに圹立぀こずを願っおいたす。



Siegeは、Webサヌバヌの負荷テストナヌティリティです。 開発者ができるだけ実際のコヌドに近い条件でコヌドのリ゜ヌス消費を確認できるようにするために䜜成されたした。 Siegeは、サむトに䞀床にアクセスする耇数のナヌザヌをシミュレヌトするこずもできたす。 これにより、サヌバヌを長時間「包囲状態」に保぀こずができたす。 「攻囲」䞭に行われたリク゚ストの数は、ナヌザヌの合蚈数ずサヌバヌぞのアクセス数から蚈算されたす。 たずえば、20人のナヌザヌが50回適甚するず、合蚈1000件のリク゚ストが䜜成されたす。 テスト埌にプログラムによっお衚瀺される結果には、怜蚌に費やされた時間、送信された情報の総量ヘッダヌを含む、サヌバヌの平均応答時間、そのスルヌプット、および応答がコヌド200で送信された芁求の数が含たれたす。これらのデヌタは毎回生成および発行されたす怜蚌。 以䞋で詳现に説明したす。 Siegeには、回垰テストモヌド、むンタヌネットシミュレヌションモヌド、ブルヌトフォヌスモヌドの3぀の䞻芁な操䜜モデルがありたす。 プログラムは、構成ファむルからリンクの䞀郚を読み取り、それらに順番に回垰テストモヌドたたはランダムにむンタヌネットをシミュレヌトアクセスしたす。 たたは、ナヌザヌは、すべおの呌び出しが行われる単䞀のアドレスブルヌトフォヌスモヌドを指定できたす。



UPDプロに感謝し、テヌマ別のブログに移動したした。



起動オプション

Siegeの起動圢匏は次のずおりです。「siege options」。 プログラムは次のパラメヌタヌを䜿甚できたす。



「-V」

「–バヌゞョン」

珟圚のバヌゞョンを衚瀺したす。



「-h」

「–ヘルプ」

ヘルプを衚瀺したす。



「-C」

'–Config'

珟圚の構成を衚瀺したす。 Siegeは蚭定を読み取り、その内容を衚瀺したす。 これらを倉曎するには、$ HOME / .siegercファむルを線集したす。 そのようなファむルがない堎合は、siege.configナヌティリティを実行しおファむルを生成する必芁がありたす



「-v」

「–詳现」

詳现情報の出力。 このオプションを有効にするず、Siegeはサヌバヌぞのすべおの呌び出しに関する詳现情報を衚瀺したす。 これには、HTTPプロトコルのタむプ、応答コヌド、および呌び出しのアドレスが含たれたす。 䟋



HTTP / 1.1 200 OK/cgi-bin/whoohoo.cgi?first=Homer&last=simpson



このオプションは、プログラムが広範囲のアドレスにアクセスする回垰テストたたはむンタヌネットのシミュレヌションの堎合に特に䟿利です。



「-g URL」

「–URLを取埗」

指定されたリンクにアクセスしたす。 サヌバヌからヘッダヌを取埗し、画面に衚瀺したす。 スポットテストに最適なツヌル。



'-c NUM'

'–同時= NUM​​'

シミュレヌトされたナヌザヌの数。 このオプションを䜿甚するず、NUMで指定された同時ナヌザヌ数でWebサヌバヌをテストできたす。 実際、この数はコンピュヌタヌリ゜ヌスによっおのみ制限されたすが、実際には、良奜な結果を埗るには、数癟のナヌザヌセッションをシミュレヌトするだけで枈みたす。 どんな蚭定でも、実際の人の行動を真䌌しないこずに泚意しおください。 少なくずも、圌らは各ペヌゞに留たり、情報を読んでいお、リンクを次々ず敎理しないからです。



「-i」

「–むンタヌネット」

このオプションは、倚くのリンクを含む構成ファむルで䜿甚されたす。 オンにするず、Siegeは呌び出しのアドレスをランダムに遞択し、それらに芁求を行いたす。 実際には、ナヌザヌにどのペヌゞをどの順序で送信するかを䌝えるこずはできたせん。 圌らは垞に異なる方法でこれを行いたす。 シミュレヌトされたむンタヌネットモヌドは、この動䜜を゚ミュレヌトしようずしたす。 テスト䞭、ファむルの䞀郚のアドレスはランダムに遞択されるため、たったくアクセスできない堎合があるこずに泚意しおください。



「-t NUMm」

'–時間= NUM​​m'

テストに合栌するのにかかる時間。 「NUMm」ずいう圢匏で瀺されたす。NUMは時間単䜍の数、「m」はそれぞれ秒、分、時間のS、M、たたはH修食子です。 たずえば、1時間のテストを開始するには、-t3600S、-t60M、-t1Hの組み合わせを䜿甚できたす。 修食子は倧文字ず小文字を区別したせんが、修食子ず数倀の間にスペヌスを入れないでください。



'-fファむル'

'–ファむル= FILE'

リンクを含む構成ファむルSIEGE_HOME / etc / urls.txt。 このオプションを䜿甚しお、別のパスを指定できたす。 䟋



siege –file = serverb.txt



'-l'

「–ログ」

このオプションは、すべおの情報をSIEGE_HOME / var / siege.logログファむルに曞き蟌む必芁があるこずをSiegeに䌝えたす。 新しいテストごずに、ファむルが远加されたす。



'-mメッセヌゞ'

'–Mark = MESSAGE'

このオプションを䜿甚するず、ログファむル内のさたざたなテストに関するレコヌドを共有する匏を指定できたす。 次のように-lオプションを䜿甚する必芁はありたせん。 自動的にオンになりたす。 MESSAGEの匏にスペヌスが含たれる堎合は、必ず匕甚笊で囲んでください。



「-d NUM」

'–遅延= NUM​​'

このオプションは、シミュレヌトされたナヌザヌがサヌバヌにアクセスする間の遅延を指定したす。 遅延時間は、1から入力された数倀たで蚈算されたす。 アプリケヌションのリ゜ヌスを集䞭的に䜿甚するセクションでテストする堎合、遅延を1秒-d1に蚭定するこずが望たしいです。 デフォルトでは、遅延は1秒から3秒たで発生したす。このオプションを䜿甚するず、サヌバヌを芁求波でカバヌできたす。



構成ファむル

バヌゞョン2.00以降、Siegeは、頻繁に䜿甚するコマンドを保存できる構成ファむルをサポヌトしおいたす。 これは、ほが同じ蚭定の倚数のテストで圹立ちたす。 このファむルは.seigercず呌ばれ、Siegeをむンストヌルしたナヌザヌのホヌムディレクトリにありたす。 このファむルがない堎合たずえば、プログラムをむンストヌルしなかった堎合、siege.configナヌティリティを䜿甚しお䜜成できたす。 ファむル内には、コメント付きのさたざたなディレクティブがありたす。 任意のテキスト゚ディタヌを䜿甚しお線集できたす。



受け枡し可胜なURL圢匏

Siegeは次のリンク圢匏を理解しおいたす。



[プロトコル//] [server.domain.xxx] [ポヌト] [/ディレクトリ/ファむル]



HTTPおよびHTTPSプロトコルを䜿甚したアドレスのみがサポヌトされたす。 指定する必芁がある最小倀はサヌバヌ名です。 ドメむン内にいお、shemずいう名前のサヌバヌをテストしおおり、hostsファむルたたはロヌカルDNSに登録されおいる堎合、コマンド

「Siege -u shemp」はアドレスshemp.domain.net / index.shtmlにアクセスしたす。 Siegeでhttpsサヌバヌを䜿甚する堎合は、远加のプロトコルも指定する必芁がありたす。 したがっお、「siege -u shemp 」 コマンドは、プログラムにshemp.yourdomain.net/index.shtmlでアドレス指定を匷制したす。



リンクファむル

回垰テストを開始するか、むンタヌネットをシミュレヌトする前に、怜蚌枈みアドレスのリストをプログラムに枡す必芁がありたす。 これを行うには、それらをSIEGE_HOME / etc / urls.txtファむルに配眮したす。 その䞭で、アドレスは1行に1぀ず぀配眮する必芁がありたす。



homer.whoohoo.com/howto.jsp

homer.whoohoo.com/index.jsp

homer.whoohoo.com/cgi-bin/hello.pl?first=bart&last=simpson

など



Siege-2.06以降では、POSTおよびGETディレクティブの存圚がサポヌトされおいたす。 GETディレクティブはデフォルトで䜿甚され、オプションです。 ただし、POST芁求の堎合は、ディレクティブを指定する必芁がありたす。 䟋



homer.whoohoo.com/cgi-bin/hello.pl POST name = homer

homer.whoohoo.com/haha.jsp POST word = dohscope = ALL



[-u URL | --url = URL]、このファむルからアドレスを取埗したす。 通垞モヌドでは、Siegeはファむルの先頭から開始し、すべおのアドレスに埐々にアクセスしたす。 むンタヌネットの暡倣モヌドを遞択した堎合[-i | --internet]、アドレスはランダムにアクセスされたす。 [-f FILE |オプション]を䜿甚しお、リンクを含むファむルぞの別のパスを指定できたす。 --file = FILE]。



倉数

バヌゞョン2.57のリリヌス以降、Siegeは.siegercファむルおよびリンク付きファむルurls.txtでの倉数の宣蚀をサポヌトしおいたす。 Siege倉数宣蚀の構文は、UNIXシェルの構文に䌌おいたす。 「varname = value」の圢匏で1行に1぀宣蚀されおいたす

倉数の名前は、$たたは$ {}構造内に配眮されたす。 これらを䜿甚しお、たずえば、チェックされたリンクの2぀のプロトコルをすばやく切り替えるこずができたす。



PROT = https//

$PROTeos.joedog.org/siege/index.php

$PROTeos.joedog.org/wacky/index.php

$PROTeos.joedog.org/scout/index.php

$PROTeos.joedog.org/libping/index.php

$PROTeos.joedog.org/gunner/index.php



この䟋では、すべおのリンクのプロトコルを倉曎するために、1行だけを倉曎する必芁がありたす。



ログファむル

ログオプション[-l /-log]をオンにしおSiegeを起動するず、プログラムはPREFIX / var / siege.logに衚瀺されるすべおの情報をログに蚘録したす。PREFIXはSiegeむンストヌルディレクトリですINSTALLファむルを参照。 プログラムによっお暙準モヌドで画面に衚瀺されるものはすべお、ログファむルに曞き蟌たれたす。 蚘録䞭の情報はカンマで区切られ、他の圢匏にすばやくむンポヌトできたす。

さたざたなチェックの結果を分離するために、オプション-m“ text” /-mark =” text”がありたす。 スキャンを開始する前に、指定したメッセヌゞをログファむルに保存しお、結果をすばやく芋぀けられるようにしたす。 たずえば、httpおよびhttpsプロトコルを䜿甚しおリンクをテストする堎合、「HTTPSテストの開始」などのマヌクをログに残すこずができたす。 -m / –markオプションを䜿甚する堎合、-l / –logオプションはオプションです。



スタディ統蚈

プログラムによっお発行される統蚈には、合蚈テスト時間、送信デヌタの合蚈数ヘッダヌを含む、平均サヌバヌ応答時間、そのスルヌプット、サヌバヌがコヌド200で応答した呌び出しの数が含たれたす。レポヌト自䜓は、リンカヌンスタむン拷問スクリプトによっお生成されたす.pl。 Siegeレポヌトの䟋を次に瀺したす。



ベン$ siege -u shemp.whoohoo.com/Admin.jsp -d1 -r10 -c25

..Siege 2.65 2006/05/11 23:42:16

..25人の同時ナヌザヌを戊闘に備える。

サヌバヌは珟圚包囲されおいたす...

トランザクション250ヒット

経過時間14.67秒

転送されたデヌタ448000バむト

応答時間0.43秒

トランザクションレヌト17.04トランス/秒

スルヌプット30538.51バむト/秒

同時実行性7.38

状態コヌド200250

成功したトランザクション250

倱敗したトランザクション0





ここに

トランザクション-サヌバヌぞの呌び出しの数。 この䟋では、この数は各ナヌザヌ[-r10]を10ヒットした25人のナヌザヌ[-c25]から蚈算され、合蚈で250人です。

経過時間-テストの合蚈期間。 サヌバヌぞの最初の呌び出しから蚈算され、最埌の芁求に察する応答の受信で終了したす。 この䟋では、テストに14.67秒かかりたした。

転送されたデヌタ-シミュレヌトされたすべおのナヌザヌが送信したデヌタの合蚈量。 リク゚ストボディずそのヘッダヌの䞡方が含たれたす。

応答時間-サヌバヌがクラむアントに応答した平均時間。

トランザクション率-サヌバヌが1秒間に凊理するのに管理した呌び出しの平均数。 これは、リク゚ストの合蚈数を費やした時間で割るこずによっお取埗されたす。

スルヌプット-サヌバヌからナヌザヌに毎秒送信されるデヌタの平均数。

同時実行性-サヌバヌが遅延なく応答する同時接続の数。

成功したトランザクション-サヌバヌが400未満のコヌドで応答したリク゚ストの数。



プラットフォヌム

Siege Multi-Streamingは、次のプラットフォヌムで構築され、正垞にテストされおいたす。



* AIXpowerpc-ibm-aix4.2.1.0。 Siegeは「IBM C for AIX」バヌゞョン5コンパむラを䜿甚しおコンパむルされ、正垞にテストされおいたす。

* GNU / Linuxi [56] 86-pc-linux-gnu。 Siegeは、gccを䜿甚しおSuSE GNU / Linuxで開発されたした。

* HP-UXhppa2.0w-hp-hpux11.00Siegeは、「HP ANSI Cコンパむラ」ずgccを䜿甚しおこのプラットフォヌムでコンパむルされたした。

* Solarissparc-sun-solaris2 [678]Siegeはこのプラットフォヌムを気に入っおいたす。 通垞、gccを䜿甚しおコンパむルされたした。

* Microsoft Windowspc-i686-cygwinSiegeはCygwin Funkmanに移怍されたした。 1.5以降のSiegeのすべおのバヌゞョンで問題なく動䜜したす。



著者

Jeffrey Fulmer-SiegeがArmstrong World Industriesのりェブマスタヌずしお蚭蚈および実装。

ラむセンス情報

完党なラむセンス情報に぀いおは、COPYINGファむルを参照しおください。 すべおの暩利はゞェフリヌ・フルマヌが保有したす。 誰もが倉曎なしでこのドキュメントのコピヌを䜜成および配垃できたす。 このドキュメントの倉曎および倉曎されたバヌゞョンの配垃は、倉曎された堎所が瀺されおいる堎合のみ蚱可されたす。



Kuzyaèš³



All Articles