持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情今天没事做给大家讲一下fs的优化
fs运行的时候会生成一些db文件,是sqlite的,因为sqlite在高并发的状态下不行
我以前是直接把这些文件放在ramdisk下面的,这样的确能够提高稳定性的,
但是在超过200以上的并发,系统有时会出问题的
所以我就把这些文件放在mysql里面跑 毕竟mysql不会出现锁的状态的
wiki.freeswitch.org/wiki/Using_…按照上面做就可以了 ubuntu安装unixODBC的路径和说明里面的不一样的,自己修改一下
然后我就把core fifo internal 这些都跑在了mysql (我的fs自己优化了一下 所以就这3个需要数据库,默认会有很多需要的)
最后给大家一个提示,这些数据库是用来跑临时数据的,所以只要速度快不需要保存的
所以我就把本来是Innodb的表都改成mysql的内存表了,
结果就是速度奇快,超级稳定
一点小经验大家分享一下
其实sql并不是瓶颈,XML dialplan更加需要优化
这个没涉及到dialplan呢
fs在运行的时候会有大量的后台数据,就像session一样的东西,用于记录用户的通道等等信息
这些个数据需要优化的 官方的wiki都说这个要优化
然后才是dialplan的流程优化
放在内存盘上就可以了,我觉得用odbc其实也不好
sqlite有死锁的问题 你怎么解决
mysql如果不通了 那么其他业务也做不了了
所以mysql一定通着的
通着就要利用一下啊 mysql的内存表速度比memcache的速度还快
而且不会死锁 这个是最稳定的方法了
我已经实在想不出有更好的办法了
有好方法赐教
如果不用mysql当然是最好了