SIP負荷テストツール”SIPp”を使ってみる。
「SIPp」 というツールをご存知でしょうか。非常に有用なツールでSIPプロダクトをテストする際に多くのケースで使用されます。設定は主にXMLファイル形式の設定ファイルで行います。そのため少し面倒な点もありますが、なんといっても動作が軽い。負荷テストにおいて、負荷を与える側のシミュレータとして使用する場合が多いようです。
それでは今回、実際にSIPpをインストールして簡単に動かしてみます。
目次
インストール:
環境は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のダウンロード
以下のURLからダウンロードできます。
(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内にありますので、自身の環境に合わせて変数の箇所を修正します。また、こちらのサイトにuac.xml / uas.xmlの例があります。(https://docs.brekeke.jp/tech-info/sipp-uacxml-uasxml-examples)
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側
- UAS側
いかがでしたでしょうか。非常に便利なツールですので、是非ご利用ください。
SIP負荷テストツール”SIPp”を使ってみる。(RTP送信編)>>