测试了freeswitch的并发数,发现确实是比asterisk要强,我从100路一直测试到800路, 期间不断用监听通道随机打电话到各通道听声音质量,没有发现声音出现任何问题,果然是很给力啊!
测试软件环境: CentOS 5.6 freeswitch 1.0.6 winsip
测试硬件: Intel(R) Xeon(R) CPU E5410 @ 2.33GHz DDR 2 800 2G
测试方法: winsip 呼入到freeswitch,freeswitch 给winsip放IVR语音,等待按键超时后挂断, winsip 再自动重新呼入,如此循环
注意:此测试中所有的语音都是需要freeswitch处理的,不是bypass模式,和默认asterisk的处理方式是一样的 。
1、WINSIP 破解版在WIN7上使用有的机器有问题,在XP上可以正常运行。
2、WINSIP 测试 FREESWITCH 时,需要呼叫5080端口。
3、WINSIP测试 FREESWITCH 时,若使用5060端口,会发生注册认证不成功的情况。
4、WINSIP测试 FREESWITCH 时,若使用5060端口,并且将FREESWITCH 上的用户配置为无需认证即可注册成功,会发生呼叫认证不成功的情况。
5、也可以换用SIPP进行压力测试
SIPP 是一个很好的SIP测试工具,不过其缺省的配置文件好像有点问题,因此FreeSWITCH推荐使用以下配置文件进行测试:
使用方法很简单,只需要运行以下命令就可以了,我进行了个简单测试,每秒发一个请求,每个请示持续10秒(10000ms)。发到FreeSWITCH的5080端口:
sipp -sf dft_cap.xml -r 1 -d 10000 192.168.1.21:5080 复制代码
最初会收到好多404,那是因为还没有路由。看一下 FreeSWITCH 的 LOG,在FreeSWITCH public那个 context 里加个到 service的路由就好了:
<extension name="200"> <condition field="destination_number" expression="^service$"> <action application="answer"/> <action application="playback" data ="local_stream://moh"/> </condition> </extension> 复制代码
当然 SIPP 还有好多选项,用起来也很灵活,抛砖引玉,剩下的就靠你慢慢琢磨了。祝玩得开心!
FAQ
最终测试使用命令:
sipp -sf dft_cap.xml -r 1 -d 50000 10.0.0.85:5080 -mi 10.0.0.85 -mp 48321 -rtp_echo
SIPP 是一个很好的SIP测试工具,不过其缺省的配置文件好像有点问题,因此FreeSWITCH推荐使用以下进行测试:
使用方法很简单,只需要运行以下命令就可以了,我进行了个简单测试,每秒发一个请求,每个请示持续10秒(10000ms)。发到FreeSWITCH的5080端口:
sipp -sf dft_cap.xml -r 1 -d 10000 192.168.1.21:5080 -rtp_echo 复制代码
其中,-r 表示每秒发一个请求,-d 10000 表示每个呼叫持续10000毫秒(即10秒)192.168.1.21:5080对FreeSWITCH的IP和端口,-rtp_echo表示我们把收到 的RTP信息原样送回去,跟FreeSWITCH中的echo()类似。
最初会收到好多404,那是因为还没有路由。看一下 FreeSWITCH 的 LOG,在FreeSWITCH public那个 context 里加个到 service的路由就好了:
<extension name="200"> <condition field="destination_number" expression="^service$"> <action application="answer"/> <action application="playback" data ="local_stream://moh"/> </condition> </extension> 复制代码
当然 SIP 还有好多选项,用起来也很灵活,抛砖引玉,剩下的就靠你慢慢琢磨了。