freeswitch-1.10.7性能测试
概述
freeswitch 是一款简单好用的开源软交换平台。
freeswitch-1.10.7是比较新的版本,使用时间比较短,需要一个可参考的性能指标,作为实际使用过程中的配置指导。
环境
centos:CentOS release 7.0 (Final)或以上版本
cpu,64逻辑核
memory,16G
freeswitch:v1.10.7
GCC:4.8.5
测试方案
AB路使用sipp作为测试终端。
sippa -> freeswitch-1.10.7 -> sippb
测试分几个维度。
cps max,call per second max,最大每秒呼叫发起量。
capacity max,最大呼叫并发容量。
cps & capacity,均衡性能,保持平均呼叫时长20秒的情况下,cps和capacity的均衡指标。
性能指标工具。
watch -n 1 ./fs_cli -x status,查看fs的session数,和cpu占用。
htop,查看各个cpu使用情况和内存。
nload,查看网络流量。
dstat,查看系统资源。
cps max
单独测试cps,不保留呼叫并发容量。
cps达到700的时候,cpu占用在75%。
capacity max
单独测试capacity,容量达到要求,不再继续发起呼叫。
呼叫,容量3000,cpu占用70%
cps & capacity
cps和capacity的综合压力测试结果才是我们最需要的,是符合生产环境场景的数据。
呼叫,容量2400,cps120,cpu占用29%
呼叫,容量2600,cps130,cpu占用35%
呼叫,容量2800,cps140,cpu占用45%
呼叫,容量3000,cps150,cpu占用60%
呼叫,容量3200,cps160,cpu占用75%
htop的统计数据
dstat的统计数据
总结
本文对freeswitch-1.10.7版本的性能测试做了介绍,性能指标可以作为生产环境配置估算的指导。
从htop的截图看,fs对cpu的分配是均匀的。
capacity容量超过3500的时候,cpu占用会急剧上升到99%,怀疑线程过多的场景下,线程切换占用了大部分资源。
后续继续对性能优化的方向,考虑多开fs实例,多开虚拟机,thread线程切换优化等。
空空如常
求真得真