下面这些将会影响到Asterisk服务器的负载能力,不注意的情况下可能导致本来能支持数百个通话的系统,因为性能上的问题之能支持几十个通话。
1、编码转换
Asterisk可以在不同呼叫间转换音频流的数据格式,例如主叫是G.711被叫是G.729,那么就需要通过编码转换。大量的编码转换会给CPU带来沉重的负担(可以采用Sangoma、Digium这类硬件厂商提供的支持硬件编解码的板卡)。
2、语音文件格式
Asterisk不推荐使用默认的GSM格式做为语音文件,WAV格式占用更少的CPU资源,并且能提供优秀得多的声音效果。
如果你用多种格式存储语音文件(例如WAV,GSM,等等),当某个channel 需要播放这个语音文件时,Asterisk 将会自动选用CPU 消耗最小的格式。(注:一些编码会给CPU 增加很大的计算负担,这样一来,本来在不做编码转换情况下能够支持数百个channels 的系统,在做编码转换的情况下可能只能支持几十个channels)。