Tsung:Webアプリケーションの負荷テスト



Tsungは、Erlangで書かれた分散負荷テストシステムです。 HTTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP、XMPP / Jabberのサポートを宣言しました。 この記事では、通常のWebサイトの負荷をテストする方法について説明します。





なぜツソン



まず、このアプリケーションは無料です。 次に、アプリケーションはErlangで記述されているため、多数の同時リクエストをシミュレートできるという点で、他の製品よりも優れています。



設置



インストールにはLinuxディストリビューションが必要です。debianを使用しました。 次の一連のアクションを実行する必要があります。

  1. apt-get erlangをインストール
  2. apt-get install gnuplot-nox libtemplate-perl libhtml-template-perl libhtml-template-expr-perl
  3. tsung-1.4.1.tar.gzの最新バージョンをダウンロードします
  4. tar -zxvf tsung-1.4.1 .tar.gzを解凍します
  5. ./configure && make && make installをインストールします
  6. また、ルートディレクトリに.tsungという名前のディレクトリを作成し、その中にtsung.xml構成ファイルを作成する必要があります(詳細については後述)。


以上でインストールは完了です!



カスタマイズ



すべての設定は、xmlファイルtsung.xmlに保存されます。 まず、次のように、テスト対象のサーバーを指定する必要があります。

<servers> <server host="example.com" port="80" type="tcp"></server> </servers>
      
      





さらに、エミュレートされたクライアントのアドレス、大規模なテストでは、maxusersのしきい値を変更することをお勧めします。

 <clients> <client host="localhost" use_controller_vm="true" maxusers="7000"/> </clients>
      
      





そして、最も興味深いのは、望ましい負荷です。 Tsungはユーザーへの訪問をシミュレートします。 次の例は、2つのフェーズを示しています。 最初のセッションは5分間続き、1秒ごとに10人の新しいユーザーがサイトにアクセスします。合計5分x 10ユーザー/秒= 3000ユーザーです。 2番目のフェーズでは負荷がさらに増加し​​、10分間続きます。1秒あたり25人のユーザーが参加し、合計15,000人のユーザーがいます。

 <load> <arrivalphase phase="1" duration="5" unit="minute"> <users arrivalrate="10" unit="second"/> </arrivalphase> <arrivalphase phase="2" duration="10" unit="minute"> <users arrivalrate="25" unit="second"/> </arrivalphase> </load>
      
      





到着率の代わりに、使用することもできます
 <users interarrival="2" unit="second"/>
      
      



この場合、ユーザーは2秒ごとに来ます。



次の段階は最も重要であり、シミュレートされたユーザーによって実行される一連のアクション、いわゆるセッションの作成です。 サイトの機能を可能な限り最大限にテストするには、ユーザーが常に何かを実行する、つまりアイドル状態にならないようにする必要があります。

 <sessions> <session name="rec20111101-1537" probability="100" type="ts_http"> <request><http url="/test/test.html" version="1.1" method="GET"/></request> <request><http url="/css/global_mainPage.css" version="1.1" method="GET"/></request> ... <thinktime random="true" value="15"/> </session> <session> .... </session> <sessions>
      
      





自動セッション生成



セッションは手動で作成できますが、簡単な方法があります-tsungのプロキシを使用してサイトでのアクションを記録します。 これを行うには、ブラウザの設定でtsungとポート8090がインストールされているIPサーバーを登録する必要があります。次に、 tsung-recorder startコマンドを実行してサイト内をさまよう、通常の訪問者の動作をシミュレートする必要があります。 tsung-recorder stopの記録を停止するには 。 その後、生成されたシーケンスは〜/ .tsung / tsung_recorderyyyymmdd-HH:MM.xmlに表示されます。 次に、このセッションをメインのtsung.xmlファイルにコピーするだけです。



打ち上げ



最後に、すべての準備手順が完了したら、テストを開始できます。 これを行うには、コマンドtsung startを入力して、それぞれtsung stopを停止します。 Tsungは、ログを〜/ .tsung / log / yyyymmdd-HH:MMディレクトリに書き込みます。 大規模なテストで非常に重要な点は、ulimit値を設定してから、標準の1024( ulimit -n 100000)を超えて実行を開始することです。 サイトのユーザー数のステータスを表示するには、 tsung statusコマンドを使用できます。 生成されたログは、 .tsung / log / yyyymmdd-HH:MMディレクトリに配置されます



レポートとチャートの生成



レポートを生成するには、プログラムに付属のperlスクリプト(tsung_stats.pl)が使用されます。 スクリプトは、 perl tsung_stats.plコマンドのログを使用してディレクトリから実行する必要があります。 その後、すばらしいHTMLレポートと図が生成されます。



Tsungは統計を提供します:



以下は、ダイアグラムの1つの例です(サイト上のユーザーの数、および生成されたユーザーの数)。









開発者サイトのその他の図



ソース:



つんガイド



All Articles