SIP負荷テストツール”SIPp”を使ってみる。


SIP負荷テストツール"SIPp"を使ってみる。

 

「SIPp」 というツールをご存知でしょうか。非常に有用なツールでSIPプロダクトをテストする際に多くのケースで使用されます。設定は主にXMLファイル形式の設定ファイルで行います。そのため少し面倒な点もありますが、なんといっても動作が軽い。負荷テストにおいて、負荷を与える側のシミュレータとして使用する場合が多いようです。

それでは今回、実際にSIPpをインストールして簡単に動かしてみます。

 

<Install>

環境はCentOS6で行いました。またインストール手順を含め、公式サイト(http://sipp.sourceforge.net/doc/reference.html#UAS) のドキュメントが役に立ちます。

SIPpはmakeする必要があるため、makeを行うために必要なツールが未インストールの場合はインストールしてください。以下yumコマンドを利用した場合の手順を記載します。

 

1.Make ツールのインストール

# yum install gcc

# yum install gcc-c++

# yum install autoconf

# yum install automake

# yum install make

# yum install ncurses-devel

2.SIPpのダウンロード(http://sipp.sourceforge.net/index.html)

3.SIPpを展開

# tar -xvzf sipp-xxx.tar

4.Makeを実施

# cd sip

# make

5.UAC側、UAS側のサーバでそれぞれuac.xml, uas.xmlファイルを修正

SIPメッセージの雛形がxml内にありますので、自身の環境に合わせて変数の箇所を修正します。また、公式サイトに例があります。(http://sipp.sourceforge.net/doc/reference.html)

6.SIPpを利用して負荷を掛けてみる。

今回は以下の通り、環境を作成しました。また、負荷テスト対象にはBrekeke Software, Inc.社のBrekeke SIP Serverを使用しました。

  • SIP サーバ(100 172.16.201.54) :

Brekeke SIP Server 3.6 稼働中

  • UAS (172.16.201.166) :

# ./sipp -sn uas.xml -d 0 -p 5506 -i 172.16.200.166 -rsa 172.16.201.54:5060

  • UAC (172.16.201.56) :

# ./sipp -sf uac.xml -d 10000 -s 100 172.16.201.54 -i 172.16.201.56-r 500 -m 2000

 

UASについて、-pで受け側のポートを指定しています。また-iでlocal IPアドレスを指定しています。また、UACでは-d でコールあたりの長さを指定しています単位はミリ秒です。-rで1秒間あたりのコール数(500)、-mでコール数の合計(2000)を指定しています。

<結果>

今回、500コール/秒の負荷をSIPpで掛けてみましたが、結果は以下の画面のように表示されました。UAC、UASの画面から2000件全て正しくSIPメッセージのやり取りがなされたことがわかります(件数箇所を黄色で囲っています)。また、Brekeke SIP Serverは通信キャリアが使用する商用の製品であるため、500コール/秒ぐらいでは十分な負荷を掛けたとは実際には言えません。

  • UAC側

sipp_uac

  • UAS側

sipp_uas

 

いかがでしたでしょうか。非常に便利なツールですので、是非ご利用ください。

 

SIP負荷テストツール”SIPp”を使ってみる。(RTP送信編)>>