<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 297,  comments - 1618,  trackbacks - 0
      上一篇:使用SIPP進行SIP壓力測試(1)


    蜜果私塾:使用
    SIPP來進行SIP壓力測試(2

    記錄人:阿蜜果

    記錄時間:2010-7-21

    1.     使用場景

    筆者最近需要對新做的一個SBCSsession Border Controller,會話邊界控制器)進行大呼測試。所做的SBC包括兩個模塊:CNVNCN模塊做信令轉發,VN模塊主要做媒體轉發,SBC用于解決SIP和媒體流的NAT穿越問題。

    SBC服務器為雙網卡機器,IP地址為:192.168.2.47125.39.155.110UAS服務器的IP192.168.2.66UAC所在機器(筆者機器)的IP125.39.155.107

    UACSBC服務器發INVITE消息,SBC接收到消息后,由CN模塊將消息轉發給UAS服務器,并轉發UAS發過來的信息給UAC,呼叫建立后,UASUAC的媒體流的轉發由SBCVN模塊來做。

    UAC(125.39.155.107)< -------------------> SBC (192.168.2.47125.39.155.110)<----------------->UAS(192.168.2.66)

    在該大呼測試中,UAC由筆者機器的Sipp軟件來做,UAS是另一臺經過測試的穩定的服務器,它在收到SBCINVITE消息后,發100180200,并放一段音。

    2. uac.xml編輯

    因為我們需要在媒體包、所帶的音頻Codec等、另外流程等上有一些不同,所以還需要準備自定義的uac.xml。在Sipp的安裝目錄(eg. C:"Program Files"Sipp_3.1)新建uac.xml文件,該文件內容編寫如下:

    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <!DOCTYPE scenario SYSTEM "sipp.dtd">

     

    <!-- This program is free software; you can redistribute it and/or      -->

    <!-- modify it under the terms of the GNU General Public License as     -->

    <!-- published by the Free Software Foundation; either version 2 of the -->

    <!-- License, or (at your option) any later version.                    -->

    <!--                                                                    -->

    <!-- This program is distributed in the hope that it will be useful,    -->

    <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of     -->

    <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the      -->

    <!-- GNU General Public License for more details.                       -->

    <!--                                                                    -->

    <!-- You should have received a copy of the GNU General Public License -->

    <!-- along with this program; if not, write to the                      -->

    <!-- Free Software Foundation, Inc.,                                    -->

    <!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA             -->

    <!--                                                                    -->

    <!--                 Sipp default 'uac' scenario.                       -->

    <!--                                                                    -->

     

    <scenario name="Basic Sipstone UAC">

     <send retrans="500">

        <![CDATA[

     

          INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0

          Via: SIP/2.0/[transport] [local_ip]:[local_port]

          From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]

          To: sut <sip:[service]@[remote_ip]:[remote_port]>

         Call-ID: [call_id]

          Cseq: 1 INVITE

          Contact: sip:sipp@[local_ip]:[local_port]

          Max-Forwards: 70

          Subject: Performance Test

          Content-Type: application/sdp

          Content-Length: 136

     

          v=0

          o=user1 53655765 2353687637 IN IP4 127.0.0.1

          s=-

          t=0 0

          m=audio [media_port] RTP/AVP 8

          c=IN IP4 [media_ip]

          a=rtpmap:8 PCMA/8000

     

        ]]>

     </send>

     

     <recv response="100"

            optional="true">

     </recv>

     

     <recv response="180" optional="true">

     </recv>

     

     <recv response="200" rtd="true">

     </recv>

     

     <!-- Packet lost can be simulated in any send/recv message by         -->

     <!-- by adding the 'lost = "10"'. Value can be [1-100] percent.     -->

     <send>

        <![CDATA[

          ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0

          Via: SIP/2.0/[transport] [local_ip]:[local_port]

          From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]

          To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]

          Call-ID: [call_id]

          Cseq: 1 ACK

          Contact: sip:sipp@[local_ip]:[local_port]

          Max-Forwards: 70

          Subject: Performance Test

          Content-Length: 0

     

        ]]>

     </send>

     

     <nop>

        <action>

            <exec play_pcap_audio="pcap/g711a.pcap"/>

        </action>

     </nop>

     

     <!-- This delay can be customized by the -d command-line option       -->

     <!-- or by adding a 'milliseconds = "value"' option here.           -->

     <pause/>

     

     <!-- The 'crlf' option inserts a blank line in the statistics report. -->

     <send retrans="500">

        <![CDATA[

     

          BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0

          Via: SIP/2.0/[transport] [local_ip]:[local_port]

          From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]

          To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]

          Call-ID: [call_id]

          Cseq: 2 BYE

          Contact: sip:sipp@[local_ip]:[local_port]

          Max-Forwards: 70

          Subject: Performance Test

          Content-Length: 0

     

        ]]>

     </send>

     

     <recv response="200" crlf="true">

     </recv>

     

     <!-- definition of the response time repartition table (unit is ms)   -->

     <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>

     

     <!-- definition of the call length repartition table (unit is ms)     -->

     <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>

    </scenario>

             該流程表示的意思是首先由uac主動往外發INVITE,接著期望收到100180200信息,UAC收到SBC200 OK信息后,往SBC發送ACK信息,接著往服務器發送pcap/g711a.pcapRTP包信息。接著開始pausepause的是時間是uac啟動時所帶的d參數(在后續章節帶了該參數)。等待ds)后,往服務器發BYE消息,并期待得到服務器的200 OK信息,流程結束。

             上面腳本中的“[]”中都是用戶帶入的一些參數,若未指定,系統會自動指定。

    1) remote_ip:服務器的IP,本實例中指定為125.39.155.100

    2) remote_port:服務器的端口,本實例中指定為5040

    3) local_ipUACIP,未指定時,使用UAC所在主機的IP,本例中指定為192.168.4.20

    4) local_portUAC的端口,本例中指定為6060

    5) call_number主叫號碼,本實例中通過-s參數指定為01077778888

    6) transport未指定,默認為udp

    7) call_idCall-ID,由系統生成,未指定。

    ……

    注意如下這段腳本:

    <nop>

        <action>

            <exec play_pcap_audio="pcap/g711a.pcap"/>

        </action>

    </nop>

    這段表示接通后UAC向服務器發送的RTP包,筆者使用的是Sipp安裝目錄pcap下的g711.pcap包,也可以自己錄制。

    3. 媒體包準備

             在測試過程中常常需要攜帶RTP流,此時需要有對應的RTP流文件,Sipp安裝目錄pcap下有一些默認的RTP流文件,若不滿足條件,也可以自行錄制,錄制好后,可在wireshark中過濾好需要的包后,點擊“Save As”另存到Sipp安裝目錄/pcap目錄。

    4. 測試結果分析

             選擇“開始”->“程序”->Sipp_3.1->start sipp”,在彈出的窗口中可以先運行如下語句先試呼叫一個:

    sipp -sf uac.xml -m 1 -i 192.168.4.20 -d 5000 -p 6060 -s 01077778888 -rtp_echo 125.39.155.110:5040

             其中:

    1-sf后跟的是自定義的uac的腳本文件;

    2-m后跟的是呼叫次數;

    3-i后跟的是本機IP(該參數可以不加,默認使用本機IP);

    4-p后跟的是本地的端口;

    5-d后跟的是暫停的秒數,可“2. uac.xml

    6-s后跟的是助教號碼;

    7rtp_echo表示需要對方發送RTP

    8125.39.155.110:5040表示的服務器的IP和端口。

    一個試呼成功后,可以開始進行大呼,此時可以去掉-m參數。命令如下:

    sipp -sf uac.xml -i 192.168.4.20 -d 5000 -p 6060 -s 01077778888 -rtp_echo 125.39.155.110:5040

    另外在SBC服務器開三個窗口觀察當前的運行情況,分別使用如下命令:

    1inmon 觀察SCFload值等情況(我們公司平臺的一個命令);

    2vmstat 3:主要觀察id列等,一般要穩定在idle 70%以上;

    3top     實時查看當前cpu的占用排位情況。

    caps值加到25,運行一段時間后,筆者觀察到topvmstat 3的情況比較穩定,測試基本情況如下:

    1sipp uac窗口:
        

             從該結果中可看出,雖然有重復現象,但是重發布多,而且沒有“Timout”和“Unexpected Msg”,總體算正常。

             2vmstat 3運行基本情況:
        

             從上圖可以看出,idle值太低,基本在57%,離70%還有距離;

             3top運行基本情況:
        

             從上圖中可以看出,sbcvn模塊所占CPU比較高,需要重點優化效率,sbcVN模塊基本在12%,只是負責信令轉發,所以瓶頸在 VN模塊。

             4inmon運行基本情況:
        

             inmonload值一般在17%,而且比較穩定,沒有突然居高位,并持續居高位的情況,CN模塊比較穩定。

    5. 參考文獻

             sip使用秘籍-v1.2》阮班勇:

    http://wenku.baidu.com/view/632ac7c758f5f61fb73666c5.html

    posted on 2010-07-21 11:17 阿蜜果 閱讀(7874) 評論(0)  編輯  收藏 所屬分類: 網絡通信相關協議電信知識
    <2010年7月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

          生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
          我的作品:
          玩轉Axure RP  (2015年12月出版)
          

          Power Designer系統分析與建模實戰  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關注blog

    積分與排名

    • 積分 - 2294312
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲人和日本人jizz| 亚洲精品在线免费观看| 免费无遮挡无遮羞在线看| 免费观看的毛片手机视频| 亚洲人成网亚洲欧洲无码| 大学生a级毛片免费观看| 亚洲avav天堂av在线网毛片| 成人免费看吃奶视频网站| 亚洲精品无码一区二区| 国产免费观看a大片的网站| 日本视频免费观看| 国产av无码专区亚洲av果冻传媒| 美女被吸屁股免费网站| 久久精品国产亚洲7777| 视频免费在线观看| 亚洲综合国产精品| 99久久99这里只有免费费精品| 麻豆狠色伊人亚洲综合网站| 日本免费人成视频播放 | 亚洲熟妇av一区二区三区下载| 1000部拍拍拍18免费网站| 亚洲熟妇AV一区二区三区宅男| 免费一级做a爰片性色毛片| 成人免费无码H在线观看不卡| 亚洲av不卡一区二区三区| 久久久久久久久免费看无码| 国产AV无码专区亚洲AV蜜芽| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 中文字幕亚洲图片| 99免费在线观看视频| 亚洲人成伊人成综合网久久| 国产成人免费一区二区三区| 插鸡网站在线播放免费观看| 亚洲国产精品张柏芝在线观看 | 国产乱码免费卡1卡二卡3卡| 美女黄频视频大全免费的| 亚洲午夜久久久精品影院| 嫩草影院在线免费观看| 不卡视频免费在线观看| 亚洲国产日韩精品| 亚洲国产精品嫩草影院在线观看 |