edoceo

FreeSWITCH Performance Tuning

Reduce the Logging

Out of the box FS is very verbose, to the console and the disk, a simple phone call can be ~28K! Reducing the amount of logging, by just a little can reduce that to ~1.8K This will reduce the impact of disk performance (or slowness as it were)

Edit conf/autoload_configs/logfile.conf.xml and adjust the map, removing the debug and info levels.

<map name="all" value="notice,warning,err,crit,alert"/>

It might be useful here to also configure default logging in the console, so it's not so busy. conf/autoload_configs/console.conf.xml and adjust the map, removing the debug and info levels here as well.

<map name="all" value="console,notice,warning,err,crit,alert"/>

Remove Unused Modules

FreeSWITCH comes with loads of features, some of which may not be necessary for all environments. If they are not in use, unload them and save a few bits of memory. Here are a few modules that are not necessary and may be easy targets for removal.

Anecdotally this has saved us a reasonable amount of memory (50-100MiB) as measured by VmSize and VmData in /proc/$(pidof freeswitch)/status.

  • mod_amr - boo
  • mod_iax - no dinos
  • mod_cluechoo - trains
  • mod_distributor - round-robin distributor
  • mod_enum - e164.org lookup
  • mod_valet_parking - special call parking
  • mod_dialplan_asterisk - no dinos
  • mod_java - only if using java
  • mod_lua - only if lua is necessary
  • mod_perl - same
  • mod_python - see above
  • mod_spidermonkey - only if javascript is necessary
  • mod_fsv - video recording/playback
  • mod_spandsp - fax & t38-gateway

Do not remove: mod_commands, mod_dptools, mod_sofia, !

Loading Comments from Disqus...