打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
freeswitch 高级主题之 提高系统并发


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" />

或者干脆在启动时候禁止数据库, 启动时加参数  -nosql


3. 关闭  media timer

把sip profile的media检测关掉

具体是修改sip profile文件internal.xml 或者external.xml里面的rtp-timeout和rtp-hold-timeout,改成0


4.关闭不必要的模块

如 xml_cdr,默认写通话记录到磁盘,影响性能。


5. 用64bit机器,64位 操作系统,最好用centos 6..4以上。


笔者实际线上运行的系统,经过优化,8核cpu,4g内存,729到711转码,并发达到 1000线,2000 channel通话。

6. 用session pool

对于caps很高的应用,为了提高系统吞吐量,可以使用session 线程池,在switch.conf.xm 文件修改session-pool为true。


7. 更深入的性能优化

系统的一些线程池大小,queue的大小是写死的默认值,更深入的优化就需要在源码级别修改这些内容。


本文原创自 http://blog.csdn.net/voipmaker  转载注明出处,欢迎加入我的freeswitch 群:45211986

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
linux系统中kdump有什么用?
Linux下发生段错误时如何产生core文件
Debian下ulimit -c返回值为unlimited,但是程序崩了后还是没有产生core文件,怎么办?
有关/etc/security/limits问题的若干说明 aix 内核参数 - roco...
关于启动程序崩溃时不产生coredump 文件分析办法
Core dump 介绍 - 炽翼铁冰's Blog
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服