[Freeswitch-users] Settings for maximum performance

Kristian Kielhofner kris at kriskinc.com
Wed May 19 08:45:55 PDT 2010


On Wed, May 19, 2010 at 10:55 AM, Max Clark <max.clark at gmail.com> wrote:
> Hi all,
>
> We are evaluating FreeSWITCH as a replacement for our current
> commercial SBCs - before anyone points it out, we need a B2BUA for
> sane CDR generation (aka billing) and there is some ideas for future
> functionality that would leverage more of the FreeSWITCH platform.
>
> That being said we are currently forcing static IPs, disabling
> registration and presence and setting inbound-late-negotiation for the
> sip profiles. "Client" gateways are being authenticated using remote
> IP ACLs and a dial string prefix. The dialplan looks like this...
>
> http://dpaste.com/196561/
>
> The box in question has two Intel Xeon 5130 dual core processors w/ 4
> GB Ram (being upgraded, trying to figure out how much ram we should
> have). Disks are 4x 15k RPM SCSI in a Raid 10. Operating system is
> CentOS 5.4 x86_64.
>
> FreeSWITCH is being started with "-nc -nonat -waste".
>
> What things should we be looking at to squeeze as much performance as
> possible out of these boxes?
>
> Thanks,
> Max

  Instead of using -waste on the CLI you should be setting the correct
ulimit parameters in your init script:

	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
	ulimit -a

  Something like that, at least.  It sounds like you've already done
most of this, but:

- Disable all NAT/STUN/etc handling in your profiles.  Your FreeSWITCH
instance is not behind NAT (you can still detect NAT from your
endpoints)
- Check, check, double check your SIP profile settings.  Session
timers?  Comfort noise?  TCP?  Do you need these?
- Increase the maximum number of sessions and sessions per second in
switch.conf.  Make sure the RTP port ranges "jive" with what your
network expects.
- Look at the timer test results when FreeSWITCH starts up.  Make sure
its not working too hard just to maintain a timer.
- Disable any unneeded modules in modules.conf.
- Don't use proxy_media.  You probably don't really want it.
- Use as many SIP profiles as you can (I believe each SIP profile runs
in its own thread).
- Make sure APIC, MSI/MSI-X, etc are all working.  Make sure you've
got decent NICs and drivers loaded.
- Email consulting at freeswitch.org :)

-- 
Kristian Kielhofner
http://www.astlinux.org
http://blog.krisk.org
http://www.star2star.com
http://www.submityoursip.com
http://www.voalte.com



More information about the FreeSWITCH-users mailing list