一、Sip协议简介:

SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。它是一种应用层协议,与其他应用层协议协同工作,通过Internet控制多媒体通信会话。它在在RFC 3261中定义。

SIP 用于发起会话,它能控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。SIP 协议基于文本编码,大量借鉴了成熟的 HTTP 协议,并且具有易扩展、易实现等特点,因此非常适合用来实现基于因特网的多媒体通信系统。
SIP协议是IMS/NGN主要通信协议, 是一种比较复杂的协议。kylinPET很好地支持SIP协议:提供易用的SIP业务流程脚本编辑,支持SIP鉴权,支持复杂SIP流程。

二、SIP性能测试

sip协议的性能测试,我采用奇林公司的kylinPET软件,相关操作步骤如下所示。

官网:www.70testing.com

1、录制脚本

1.1、点击“文件” -> “新建”或者“工具栏”的“新建” 按钮。

 1.2、 生成业务流程脚本

Scripter被叫流程脚本

流程图的Media节点表示执行代理器通知媒体代理器发送音视频流与监控收到的音视频流。

参数media-ip、audio-port、video-port为被叫的SDP信息,来源于参数列表的配置;而参数SDP-IP、SDP-AudioPort、SDP-VideoPort为流程从INVITE消息的SDP内容获取的。

流程图的Media节点表示执行代理器通知媒体代理器发送音视频流与监控收到的音视频流。

参数media-ip、audio-port、video-port为被叫的SDP信息,来源于参数列表的配置;而参数SDP-IP、SDP-AudioPort、SDP-VideoPort为流程从INVITE消息的SDP内容获取的。

2、创建测试场景

2.1、创建媒体代理器

点击“工具” -> “媒体代理器”或者“工具栏”的 按钮,添加媒体代理器

 2.2、 配置主叫媒体代理器

2.3、 配置被叫媒体代理器

 3、 自动添加媒体监控项

3.1、 查看每一路媒体流指标

上图查看被叫每一路的指标情况,表格只显示每秒的指标值与总得平均值,绿色表示指标没超过阈值,红色表示指标超过阈值。

3.2、 主叫收到的每一路媒体指标

双击表格某行查看对应媒体流指标曲线

 三、其它场景

1、主叫发送BYE丢失情况

主叫发送BYE消息丢失,被叫将收不到BYE消息,不会回复200响应。而主叫等待200响应将超时。因此,需要主叫流程实现超时重传流程。

通过branch节点实现多种情况的考虑,当收到200表示会话成功,当收到超时则重发BYE消息。

2、被叫收到BYE后发送200丢失

被叫收到BYE消息后发送200响应消息丢失,主叫没收到200将重传BYE,如果被叫会话已经完成,将导致被叫成功,但主叫失败。因此,需要被叫发送200后等待一定时间才结束会话。

SIP压力测试——奇林软件kylinPET的更多相关文章

  1. 基于SIP协议的性能测试——奇林软件kylinPET

    一.Sip协议简介: SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定 ...

  2. 基于奇林软件kylinTOP工具的HTTP2协议的压力测试

    1.HTTP协议概述 说到http,那就应该先了解一下http协议的发展历史.关于http协议的历史,可以参考阮一峰老师的这篇博客文章HTTP 协议入门,里面介绍的比较详细了.简单来说http先后存在 ...

  3. 基于kylinTOP工具的HTTP2压力测试

    1.HTTP协议概述 说到http,那就应该先了解一下http协议的发展历史.关于http协议的历史,可以参考阮一峰老师的这篇博客文章HTTP 协议入门,里面介绍的比较详细了.简单来说http先后存在 ...

  4. 由国产性能测试工具WEB压力测试仿真能力对比让我想到的

    软件的行业在中国已得到长足的发展,软件的性能测试在软件研发过程显得越来越重要.国产的性能工具在好多大公司都在提供云服务的有偿收费测试.如:阿里的PTS(Performance Testing Serv ...

  5. 使用 JMeter 完成常用的压力测试 [转]

    讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测试.但是软件仅仅只是功能正确是不够的.在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件的响应速度.影响软件响应速度的 ...

  6. 使用 JMeter 完成常用的压力测试

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  7. 【转】使用 JMeter 完成常用的压力测试

    本文介绍了 JMeter 相关的基本概念.并以 JMeter 为例,介绍了使用它来完成最常用的三种类型服务器,即 Web 服务器.数据库服务器和消息中间件,压力测试的方法.步骤以及注意事项.      ...

  8. Jmeter使用指南----压力测试工具

    来源: https://blog.csdn.net/u012111923/article/details/80705141 https://www.cnblogs.com/st-leslie/p/51 ...

  9. 【转】使用JMeter 完成常用的压力测试(一)

    本文介绍了 JMeter 相关的基本概念.并以 JMeter 为例,介绍了使用它来完成最常用的三种类型服务器,即 Web服务器.数据库服务器和消息中间件,压力测试的方法.步骤以及注意事项. 讲到测试, ...

随机推荐

  1. JarvisOJ level3_x64

    这一题是和前面x86的差不多,都是利用了同一个知识点,唯一的区别就是使用的堆栈地址不同,x86是直接使用堆栈来传递参数的,而x64不同 x64的函数调用时整数和指针参数按照从左到右的顺序依次保存在寄存 ...

  2. 三步教你实现MyEclipse的debug远程调试

    MyEclipse远程调试程序是个神奇的东西,有时一个项目本地运行没问题可放到服务器上,同样的条件就是结果不一样:有时服务器上工程出点问题需要远程调测.于是就灰常想看一下程序在远程运行时候的状态,希望 ...

  3. 利用.swp文件恢复源文件

    使用命令 vim -r filename.swp 保存即可

  4. leetcode第24题:两两交换链表中的节点

    通过分析,这属于数据结构类型题目,但涉及到多次交换,也需要算法知识. 首先,我想的是,将链表中节点相互交换. class Solution: def swapPairs(self, head: Lis ...

  5. Junit 单元测试在 intelliJ IDEA 中的安装

    1.为什么使用Junit我们都知道,main 方法是一个程序的入口,通常来说,没有main方法,程序就无法运行.我们经常会写一些class文件(如下图所示),他们并没有自己的main方法.那么我们如何 ...

  6. 用缓冲技术OSCache 提高JSP应用的性能和稳定性

    一.概述 在Web应用中,有些报表的生成可能需要数据库花很长时间才能计算出来:有的网站提供天气信息,它需要访问远程服务器进行SOAP调用才能得到温度信息.所有这一切都属于复杂信息的例子.在Web页面中 ...

  7. toString()和强制类型转换(String)的用法

    原来是String类型的才可以强转到String,不然会报 ClassCastException异常: 所有的引用类型都从Object类继承了toString方法.

  8. python基础实现简单的shell sed 替换功能

    #coding:utf-8 from pygame.draw import lines import sys,os old_file = sys.argv[1] #接受外部设备上的参数 new_fil ...

  9. NoneBot+酷Q,打造QQ机器人

    NoneBot 是一个基于 酷Q 的 Python 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功 ...

  10. mongodb写入安全级别

    MongoDB的写安全机制 写入安全(Write Concern)是一种由客户端设置的,用于控制写入安全级别的机制,通过使用写入安全机制可以提高数据的可靠性. MongoDB提供四种写入级别,分别是: ...