freeswitch 出身时就以高性能著称,尤其是在做为sip 媒体服务器时,但是具体性能根据实际使用环境差异很大,经常有人问freeswitch性能有多高,这是一个很难回答的问题
因为一个小的使用差异就会导致性能差别很大,比如dialplan是否执行了脚本语言? 用的什么语言都对性能影响很大,笔者曾经在dialplan里面用perl 操作数据库,结果性能很差,最后换成 lua,解决了问题。下面几条是实际使用中为了提高性能可尝试的点。
1. 操作系统 ulimit 设置
ulimit -c unlimited
ulimit -d unlimited
ulimit -f unlimited
ulimit -i unlimited
ulimit -n 999999
ulimit -q unlimited
ulimit -u unlimited
ulimit -v unlimited
ulimit -x unlimited
ulimit -s 240
ulimit -l unlimited
2. 使用内存
freeswitch内置的数据库sqlite对性能影响也很大, 磁盘IO在每次呼叫都有发生,
所以可以把core db放到 ram里。
具体操作是改配置文件
switch.conf.xm 里面的<param name="core-db-name" value="/dev/shm/core.db" />
或者干脆在启动时候禁止数据库, 启动时加参数 -no