大家好,欢迎来到IT知识分享网。
SIPP 压测介绍以及使用方式
sipp 介绍
SIPP是一个测试SIP协议性能的工具软件,它包含了一些SipStone用户代理工作流程(UAC和UAS),并可使用INVITE和BYE建立和释放多个呼叫。它可以读取XML场景文件,及描述任何性能测试的配置文件。它能动态的显示测试运行的统计数据(呼叫速率,信号来回的延迟,一级消息统计)、周期性的把CSV统计数据转储,在多个套接字上的TCP和UDP,利用重新传输管理的多路复用。在场景定义文件中使用正则表达式、动态调整呼叫速率
sipp可以做什么
SIPP可以用来测试许多真实的SIP设备,如SIP代理、B2BUAS,SIP服务器,SIP/X网关、SIPPBX等等,它可以模仿上千万个SIP代理呼叫你的SIP系统。
sipp版本
目前SIPP已经更新到3.6.X,3.6.X版本有问题现在好像已经终止维护。稳定版本为3.4.X和3.5.X版本
SIPP官网地址: http://sipp.sourceforge.net/
GITHUB地址:https://github.com/SIPp/sipp/releases
sipp安装步骤
Winodws系统
- 部署安装cygwin运行环境
Cygwin地址:https://cygwin.com/install.html; - 下载相关类库和开发包
主要类库:gcc-core、gcc-g++、libncurses-devel、Libncurses、openssl-devel、make - 下载及编译Sipp源码
直接下载安装win版本的sipp_setup.exe
下载自动编译包,直接make生成可执行文件
下载源码包,通过配置编译生成可执行文件 - 编译的四种方式
通用编译方式
./configure –with-pcap –with-openssl
Make- 没有TLS支持与密码验证支持
tar -xvf sipp-1.1rc6.tar.gz
cd sipp-1.1.rc6
make - 拥有TLS支持与密码验证,但是不支持PCAP语音播放
tar -xvf sipp-1.1rc6.tar.gz
cd sipp-1.1.rc6
make ossl - 支持PCAP PLAY,但是没有密码验证支持(pcap play即为可以进行RTP语音,但是没有407auth验证)
tar -xvf sipp-1.1rc6.tar.gz
cd sipp-1.1.rc6
make pcapplay - 支持PCAP声音文件播放,而且支持密码验证支持(支持407 auth验证支持)
tar -xvf sipp-1.1rc6.tar
cd sipp-1.1.rc6
make pcapplay_ossl
- 没有TLS支持与密码验证支持
- 验证是否安装
./sipp -h
Liunx系统
- 下载Sipp安装包并安装类库
http://sourceforge.net/projects/sipp/files/sipp/ - 类库:
gcc-core、gcc-g++、libncurses-devel、Libncurses、openssl-devel、make - 解压缩
tar -xzvf sip p.3.1.src.tar.gz - 选择编译方式
- 通用编译方式
./configure –with-pcap –with-openssl
Make - 没有TLS支持与密码验证支持
tar -xvf sipp-1.1rc6.tar.gz
cd sipp-1.1.rc6
make - 拥有TLS支持与密码验证,但是不支持PCAP语音播放
tar -xvf sipp-1.1rc6.tar.gz
cd sipp-1.1.rc6
make ossl - 支持PCAP PLAY,但是没有密码验证支持(pcap play即为可以进行RTP语音,但是没有407auth验证)
tar -xvf sipp-1.1rc6.tar.gz
cd sipp-1.1.rc6
make pcapplay - 支持PCAP声音文件播放,而且支持密码验证支持(支持407 auth验证支持)
tar -xvf sipp-1.1rc6.tar
cd sipp-1.1.rc6
make pcapplay_ossl
- 通用编译方式
- 验证是否安装成功
./sipp -h
SIPP USA和UAC介绍
SIP协议采用Client/Server模型。每一个请求(Request)触发服务器的一个操作,每个操作被称为方法(Method),每个请求除了指明具体方法之外,还携带了一系列的头域(HeaderField),这些头域携带了各种业务信息,除了头域外。消息中还可以携带任意类型的消息体(Body),呼叫中最常用的SDP信息就是通过消息体在Client和Server之间传递的。Server从接收到请求到处理完毕,要回复多个临时响应(Response)和一个终结响应(Response)。
用户代理客户端-UAC(User Agent Cilent) 用于发起请求
UAC启动命令:
./sipp -sn uac 127.0.0.1 -p 5077
用户代理服务器-UAS(User Agent Server),用于接收请求,这里的UAS可以理解是OpenSip服务器
./sipp -sn uas 127.0.0.1:5077 -I 127.0.0.1 -p 5078 -r 5 -rp 100 -m 2 -trace_msg -trace_err
脚本介绍
SIPP属性/命令介绍
标签名 描述 示例
用于消息的发送,常用参数包括 retrans:udp报文重传时长; lost:丢包率; start_txn:启动响应时间记录 ack_txn:记录接收响应时间,与start_txn匹配 retrans:udp报文重传时长; lost:丢包率; start_txn:启动响应时间记录 ack_txn:记录接收响应时间,与start_txn匹配
用于消息的接收,常用参数包括 response:期望收到的响应消息 request:期望收到的请求消息 optional:可选接收消息,值为true或global timeout:超时时长,默认超时后直接END ontimeout:超时后的跳转处理 action:收到消息后采取的处理动作 regexp_match:检查收到消息是否匹配预期
<recv request=“ACK” timeout=“18000” ontimeout=“5″>
用于设置暂停时间,常用参数包括 milliseconds:设置暂停时长,单位ms variable:设置当变量出现时暂停 distribution:使用GSL定义或分布模型定义呼叫 时长 milliseconds:设置暂停时长,单位ms variable:设置当变量出现时暂停 distribution:使用GSL定义或分布模型定义呼叫 时长
用于非协议处理的命令执行,常用参数包括 action:执行命令动作
<sendCmd 用于两个SIPp实例间的交互发送,常用于3PCC 场景,常用参数包括 <![CDATA[]]>:用于 3PCC场景的参数传递 dest:仅用于扩展模式3PCC
<![CDATA[ Call-ID: [call_id] [$1] ]]>
用于两个SIPp实例间的交互接收,常用于3PCC 场景,常用参数包括 action:接收到命令时的执行命令动作 src:仅用于扩展模式3PCC
<action
start_rtd 启动响应定时器 <send start_rtd=“invite“ >
rtd 停止响应定时器 <recv response=“200”rtd=“invite“ />
repeat_rtd 重复启用响应定时器 <recv response=“407”rtd=“invite” repeat_rtd=“true“ />
crlf 运行界面增加回车换行
next 跳转任意label <recv response=“403” optional=“true” next=“reg_fail”>
test 与next一起使用,设置 跳转条件 <send next=“6” test=“flag1”>
chance 与test、next一起使用, 当test结果有值时,则 概率跳转
counter 计数器累加1 <recv response=“200”counter=“SuccessCALL”>
Sipp命令介绍
UAS服务端命令
不带日志
./sipp -sn uas 12.0.0.1 -p 5060
./sipp -sf uas.xml 12.0.0.1 -p 5060
-sn 与-sf区别
-sn 使用SIPP内部模本配置文件
-sf 使用场景自定义配置文件
带日志
./sipp -sn uas 12.0.0.1 -p 5060 -trace_msg -trace_err
/sipp -sf uas.xml 12.0.0.1 -p 5060 -trace_msg -trace_err
客户端
不带日志
./sipp -sf rtp.xml -inf rtp.csv 192.168.146.89:5060 -i 192.168.146.148 -p 5078 -m 10 -r 10 -rp 1
./sipp -sf rtp.xml -inf rtp.csv 192.168.146.89:5060 -i 192.168.146.148 -p 5078 -m 10 -r 10 -rp 1 -trace_msg -trace_err
命令解析
场景文件与用户文件
- 内部服务端与客户端交互
- 模拟用户通过SIP服务之间呼叫
- SIPP 模拟大量用户注册服务场景使用SIPP服务器
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144843.html