freeswitch 高级主题之 提高系统并发
来源:互联网 发布:linux grep wc -l 编辑:程序博客网 时间:2024/06/05 10:59
本文原创自 http://blog.csdn.net/voipmaker
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的大小是写死的默认值,更深入的优化就需要在源码级别修改这些内容。
- freeswitch 高级主题之 提高系统并发
- freeswitch 高级主题之 提高系统并发
- freeswitch 高级主题之 jitter buffer
- freeswitch 高级主题之 jitter buffer
- Freeswitch 高级主题之用kamailio负载均衡
- Freeswitch 高级主题之用kamailio负载均衡
- freeswitch 客户端进行点对点通信,提高并发能力
- Android高级应用之 换肤 换主题 主题管理
- C++ 高级主题之模板特化
- DWR高级主题之DWR安全机制
- DWR高级主题之反向Ajax
- 自动寻路Navmesh之高级主题
- Hexo高级教程之主题开发
- ActiveMQ高级特性:ActiveMQ之虚拟主题
- HttpClient 4.3详细教程之高级主题
- 高级主题
- 提高系统并发性的方法总结
- Linux网络编程之高级并发服务器
- (七)函数
- Bitmap缩放到指定的大小
- 死亡历险,asp.net做的Webservice,Java做的安卓调用Webservice进行登录验证
- 异步信号同步和边沿检测
- curl_setopt()函数
- freeswitch 高级主题之 提高系统并发
- 重载和重写的区别
- 登录模块测试用例
- H264(NAL简介与I帧判断)
- 浅析Fragment和ViewPager切换页面方法
- Xcode各版本官方下载及百度云盘下载, Mac和IOS及Xcode版本历史.
- http协议学习系列(虚拟主机的实现)
- sublime_text问题整理
- 程序员七夕撩妹指南