Drupalize.Me

Drupalize.Me チュートリアル

Siegeは、パフォーマンステストツールキットに追加するのに便利な負荷テストツールです。 ウェブサイトから:

Siegeは、HTTP負荷テストおよびベンチマークユーティリティです。 これは、web開発者が強迫の下で自分のコードを測定し、インターネットにロードするために立ち上がる方法を確認できるように設計されました。 Siegeは、基本認証、cookie、HTTP、HTTPS、FTPプロトコルをサポートしています。 これは、そのユーザーがシミュレートされたクライアントの構成可能な数でサーバーをヒッ これらのクライアントは、サーバーを”包囲下に置きます。”

ロードテストは、サイトのパフォーマンスと、サイトが実行されるインフラストラクチャをテストするのに役立ちます。 あなたの場所のページを普及した場所で掲示されて持っていることおよびあなたの場所が負荷の下で崩れるのを見ることより悪い何もない。 Siegeはサイト上でのアクティビティをシミュレートすることができ、siegeが実行されている間は、通常どおりブラウザからサイトを使用して、負荷の下でサイ

このブログ記事では、Os XおよびLinuxへのSiegeのインストール、およびSiegeを使用した基本的なロードテストの実行について説明します。

仮定

このチュートリアルでは、コマンドラインを使用して基本的なコマンドを発行し、テストできるローカルマシンにwebサイトがインストールされていることを前提としています。

Siegeのインストール

をダウンロードしてから、https://www.joedog.org/siege-home/に移動し、Siegeアプリケーションの最新バージョンのアーカイブのURLを見つけます。 執筆時点では、それはSiegeバージョン3.1.0です。

保存

今、ターミナルアプリを開き、我々は私たちのダウンロードディレクトリにこのアーカイブを保存します。

OS Xの場合
cd ~/Downloadscurl -O http://download.joedog.org/siege/siege-3.1.0.tar.gz
Linuxの場合
cd ~/Downloadswget http://download.joedog.org/siege/siege-3.1.0.tar.gz

アーカイブを抽出します

tar -xvf siege-3.1.0.tar.gz

アーカイブディレクトリに変更します

cd siege-3.1.0

設定してビルドします!

./configuremakemake install

ドキュメントをお読みください

必要な場合は、完全なインストール手順を参照してください。

インストールされているバージョンの確認

素晴らしい、今、私たちは包囲が適切にインストールされていることをテストすることができます、のは、私たち

siege -VSIEGE 3.1.0

万歳、我々はバージョン3を持っています。私たちのシステムにインストールされている包囲の1.0、のは、いくつかのテストに取り掛かSiegeを使用したロードテスト

ロードテストにローカルにインストールしたDrupalサイトを使用します。 基本的な包囲を開始するには、目的のサイトURLを使用して次のコマンドを実行します(私は使用していますhttp://drupal7.local):

siege http://drupal7.local

これは、control+cを押して包囲を停止するまで、サイトのインデックスページにアクセスする15人の同時ユーザーであるデフォルトのオプションで包囲を開始します。

これは、テストの包囲統計を提供します:

Lifting the server siege... done.Transactions: 385 hitsAvailability: 100.00 %Elapsed time: 76.02 secsData transferred: 0.84 MBResponse time: 2.40 secsTransaction rate: 5.06 trans/secThroughput: 0.01 MB/secConcurrency: 12.18Successful transactions: 385Failed transactions: 0Longest transaction: 5.73Shortest transaction: 0.31

ロードテストの結果の解釈

さて、まず第一に、私の結果はそれほど印象的ではありません。

この例では、385件の取引があります。

経過時間は包囲テスト全体の持続時間です。 これは、ユーザーがsiegeを呼び出してから、最後のシミュレートされたユーザーがトランザクションを完了するまでの間に測定されます。 上記に示すように、テストは完了するまでに76.02秒かかりました。

転送されたデータは、siegeシミュレートされたすべてのユーザーに転送されたデータの合計です。 これは、ヘッダー情報だけでなく、コンテンツが含まれています。 ヘッダー情報が含まれているため、siegeによって報告される数は、サーバーによって報告される数よりも大きくなります。 構成ファイル内のランダムなUrlにヒットするインターネットモードでは、この数は実行ごとに異なると予想されます。

応答時間は、シミュレートされた各ユーザーの要求に応答するのにかかった平均時間です。

トランザクションレートは、サーバーが毎秒処理できるトランザクションの平均数です。

スループットは、サーバーからシミュレートされたすべてのユーザーに毎秒転送される平均バイト数です。

同時実行は、同時接続の平均数であり、サーバーのパフォーマンスが低下するにつれて増加する数です。

成功したトランザクションは、サーバーが400未満のコードを返した回数です。 したがって、リダイレクトは成功したトランザクションと見なされます。

複数ページのテスト

複数のUrlをテストするために、URLファイルを使用して、包囲中にテストするUrlのリストを提供できます。 Urlというテキストファイルを作成します。txtを追加し、テストしたいUrl(1行に1つ)を追加すると、ユーザーのホームディレクトリ〜/urlsに私のものを作成しています。txt

:

# Comments proceeded by a hashhttp://drupal7.local/http://drupal7.local/node/2http://drupal7.local/node/7http://drupal7.local/rest/node

これで、siegeを開始し、作成したファイルへのパスを指定して、それらのUrlに対するテストを開始できます:

siege -f /path/to/your/urls.txt

インターネットモード

インターネットモードは、ユーザーがテストでヒットした各Urlがランダム化されるSiegeのもう一つの興味深いオプションです。 これは、人があなたのサイトに訪問するURLを予測することができない現実の状況を模倣しています。 このオプションのもう1つの意味は、ランダム化のためにUrlテキストファイル内の各ページがヒットするという保証がないことです。

インターネットモードで包囲を開始するには、次のコマンドを使用して、urlのパスを再度渡します。txt:

siege -if /path/to/your/urls.txt

同時ユーザー数の増加

同時ユーザー数の増加は、-cフラグを使用して行われ、テストしたい同時ユーザーの数を渡します:

siege -if /path/to/your/urls.txt -c 500
' -c NUM '' –concurrent=NUM '

Concurrent users(requires argument):このオプションを使用すると、シミュレートされたユーザーの数をNUMでwebサーバーに強調することができます。 この量は利用可能なコンピューティングリソースによってのみ制限されますが、現実的には数百人のシミュレートされたユーザーが実際のユーザーセッションでその数の何倍にも等しくなります。 選択した番号は、サーバーが処理しているトランザクションの数を表します。 これは、同時セッションの数を表すものではありません。 実際のユーザーは、要求したページを実際に読むのに時間がかかることを覚えておいてください。

トランザクションをずらすことができる-dフラグを使用することも便利です:

siege -if /path/to/your/urls.txt -c 500 -d 3
' -d NUM '' –delay=NUM 'Each siege simulated user is delayed for a random number of seconds between one and NUM. If you are benchmarking performance, it is recommended that you use a 1 second delay ( -d1 ). The default value is three (3 ). This delay allows for the transactions to stagger rather then to allow them to pound the server in waves.

Siegeにはもっと多くのものがありますが、より完全な理解を得るためにドキュメントを完全に読むことをお勧めしますが、このチュートリアルではあなたの方法であなたを得ることができれば幸いです。

Drupalユーザーとしての認証が必要なページを包囲する必要がある場合は、このヘルパースクリプトをチェックしてください: https://github.com/msonnabaum/DrupalSiege

Siegeをアンインストールしてクリーンアップする

Siegeをシステムにインストールしたくない場合は、まずそれをアンインストールしてから、ソースディレクトリとアー:

cd ~/Downloads/siege-3.1.0/make uninstall

今、あなたは安全にソースフォルダを削除し、アーカイブすることができます:

~/Downloads/siege-3.1.0~/Downloads/siege.-3.1.0.tar.gz

パフォーマンスについて多くの騒ぎ

あなたのサイトが包囲されている間にパフォーマンスが悪いと感じているなら、その理由を見つけたいでしょう! チェックするいくつかのもの:

  • サーバー負荷
  • キャッシュを実装していますか?

コメントを残す

メールアドレスが公開されることはありません。