SIP 性能 |
|
| SIP Codec 性能测试 |
测试目的
SIP的Codec一般占到整个协议应用软件的40%-60%,同时Codec模块的性能测试的相对可比性较强,因此我们对比测试了Juphoon SIP栈和某第三方SIP栈的Codec模块
测试条件
同样的SIP信令,同样的硬件( Celeron mobile 1.3G, 384 RAM )。并且,Juphoon SIP的编解码设置为全部精细解析
测试样本
测试样本计13个,分别为INVITE、180、183、200、ACK、BYE、INFO、PRACK 、 INVITE(ISUP)、200(BYE)、200(INFO)、200(PRACK1)、 200(PRACK2)
|
|
测试报文总长度: 5150 byte, 头域数: 109, 重复: 30000 次, 所用时间单位: second.
Codec: Decode & Encode
DV: Debug Version
RV: Release Version |
| 菊风的 SIP 协议栈已经与一些国外专业的协议公司的 SIP 协议栈进行了性能对比,菊风的 SIP 协议栈的平均解析速度比它们快3-9倍。对于满足大容量,高业务响应的产品需求非常适合。而且菊风 SIP 协议栈的解析精度非常高,见下面: |
| SIP 协议栈解析精度 |
菊风的 SIP 协议栈在解析语法树的时候,解析具体的元素到具体的数据类型,比如整数,枚举值,IPv4地址等类型。程序员在读语法树的时候,只需要读取具体的数据(比如整数,枚举值)就可以了。同样,在构造 SIP 消息的时候只需对具体的元素赋值以具体的类型(如整数,枚举值)即可。这样对于开发来说是非常方便的,而且在二进制文件中只需要保留一份的符号串,占用的空间是最少的。 |
|
| 在开源协议栈 OSIP 2-3.0.1 中对语法树解析的程度基本上只是一个串。用户在读取语法树的时候必须进行串的比较,或者把串转换成具体的数据(如整数,枚举)。同样在构造 SIP 消息的时候,用户需要把具体的数据传唤成字符串。这样用户使用起来会不方便,同时影响效率和存储空间。 |
|
| SIP 呼叫测试引擎 |
Call Tester 是一个呼叫测试引擎,它通过测试用例对协议栈进行测试,同时也保证了协议栈在未来开发或扩展过程中的正确性。呼叫测试引擎模拟的呼叫流程,可以是正常的流程也可以是异常的流程,正常的流程可以模拟复杂的各项Sipping业务。呼叫角色可以是SIP UA,也可以仅仅是一个使用Call TPT和SIP Codec模块的客户端。
此外,Call Tester是一个协议无关的测试引擎,它也可以对其它VoIP协议进行测试 (例如, MGCP, H.322 等等) 。 |
|