[Freeswitch-users] Freeswitch performance as a redirecting server

Giovanni Maruzzelli gmaruzz at celliax.org
Tue Aug 25 06:47:37 PDT 2009


is a heavely multithreaded software, it benefits from number of CPUs
(or cores), RAM, and heavy duty kernel features (found in 64bit
kernels)

put all accesses on ramdisk, leave out the modules you don't use...

experiment, test, and find the best for your specific application/workload

test not only with sipp, but with real load too (often they're very different)

-gm


On Tue, Aug 25, 2009 at 3:42 PM, Tihomir Culjaga<tculjaga at gmail.com> wrote:
> thanks for the feedback... this is something im going to do tomorrow...
>
> what about other things?
>
>
> On Tue, Aug 25, 2009 at 3:39 PM, Jay Binks <jaybinks at gmail.com> wrote:
>>
>> Everytime someone asks this ,  the resounding answer is use a 64bit os..
>> No question
>> Jay
>>
>>
>>
>> On 25/08/2009, at 23:19, Tihomir Culjaga <tculjaga at gmail.com> wrote:
>>
>> Hey Giovanni,
>>
>> thanks for the tip... indeed the db files were heavily used regardless if
>> i started freeswitch with nosql option (freeswitch -nosql)... FS was not
>> writing anything into that files ... instead it was just accessing it....
>> This behaviour leads to a waste of 40% CPU time... waiting for other
>> processes (mainly disk access) to finish!!!
>>
>> I moved freeswitch/db/ to a ramdisk and the performance got a boost to 140
>> CPS with a CPU load of 80%. I was keeping the machine for a while (20 - 30
>> minutes) on that rate when i sow CPU suddenly went to 100% and FS becoming
>> irresponsive :).
>>
>>
>> What can be wrong?
>> What are the limits in CPU usage (50%, 60%, 70%, 80%...) we should not
>> cross?
>> What fine tuning do we need in order to asure a long high load run?
>>
>>
>>
>> Also, I'm running 32-bit OS (debian 5) on a 64 bit CPU... does it have
>> sense to move my OS to 64 bit? ... will FS gain more preformance ?... I mean
>> will FS perofomr drastically better 20%+ ?
>>
>>
>> Tihomir.
>>
>>
>> On Tue, Aug 25, 2009 at 11:00 AM, Giovanni Maruzzelli
>> <gmaruzz at celliax.org> wrote:
>>>
>>> Maybe your load comes from disk access?
>>>
>>> Try putting the sql and log directories on a ramdisk.
>>>
>>> OTH,
>>>
>>> -giovanni
>>>
>>> On Tue, Aug 25, 2009 at 10:54 AM, Tihomir Culjaga<tculjaga at gmail.com>
>>> wrote:
>>> > Hello,
>>> >
>>> > i'm trying to use freeswitch as a redirecting server meaning FS has to
>>> > receive an INVITE and according to some rules it will redirect calls to
>>> > other destinations.
>>> >
>>> >
>>> > CALLING_USER                FREESWITCH                        SOMEWHERE
>>> >
>>> > INVITE ------------------------------->
>>> >            <------------------------------ 100 Trying
>>> >            <------------------------------ 302 Moved Temporary
>>> > ACK    ------------------------------->
>>> >
>>> > INVITE--------------------------------------------------------------------------------->
>>> >
>>> >
>>> >
>>> > Well, wverything works well except i have perfromance issues .... on my
>>> > HW
>>> > FS cannot do more than 40 CPS (INVITE answered by 302 Moved Temporary).
>>> > When
>>> > i increase the rate, FS starts delaying 302 response. Right at 50 CPS i
>>> > see
>>> > "calls" being build up in FS and the delay begining to grow.
>>> >
>>> > When i observe the machine, load average is almost nothing (load
>>> > average:
>>> > 1.41, 0.61, 0.60) CPU never goes to 100%, and i see only one thread
>>> > taking
>>> > most load... all others are just sitting there with 1-5 % CPU time.
>>> > This looks to me as FS handles 302 messages in a single thread?!?!
>>> >
>>> >
>>> > tculjaga at FS:/usr/local/freeswitch/conf/dialplan$ top -H
>>> >
>>> > top - 10:41:37 up 167 days, 20:42,  3 users,  load average: 1.41, 0.61,
>>> > 0.60
>>> > Tasks:  83 total,   2 running,  81 sleeping,   0 stopped,   0 zombie
>>> > Cpu(s): 25.3%us,  1.5%sy,  0.0%ni, 30.3%id, 42.7%wa,  0.0%hi,  0.2%si,
>>> > 0.0%st
>>> > Mem:   2074520k total,   571244k used,  1503276k free,   259604k
>>> > buffers
>>> > Swap:  2650684k total,     3020k used,  2647664k free,   153868k cached
>>> >
>>> >   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+
>>> > COMMAND
>>> >  4814 root      20   0 34188  20m 3780 S   38  1.0   3:10.29
>>> > freeswitch
>>> >  4800 root      20   0 34188  20m 3780 S    6  1.0   0:08.26
>>> > freeswitch
>>> >  4798 root      20   0 34188  20m 3780 R    5  1.0   0:24.46
>>> > freeswitch
>>> >  4787 root      20   0 34188  20m 3780 S    2  1.0   0:11.24
>>> > freeswitch
>>> >  4794 root      20   0 34188  20m 3780 S    1  1.0   0:11.42
>>> > freeswitch
>>> >  4803 root      20   0 34188  20m 3780 S    1  1.0   0:11.74
>>> > freeswitch
>>> >  4788 root      20   0 34188  20m 3780 S    1  1.0   0:02.96
>>> > freeswitch
>>> >  4804 root      20   0 34188  20m 3780 S    1  1.0   0:01.64
>>> > freeswitch
>>> >  4807 root      20   0 34188  20m 3780 S    1  1.0   0:01.68
>>> > freeswitch
>>> >  4811 root      20   0 34188  20m 3780 S    1  1.0   0:02.50 freeswitch
>>> >
>>> >
>>> >
>>> > cat /proc/cpuinfo
>>> > processor       : 0
>>> > vendor_id       : GenuineIntel
>>> > cpu family      : 6
>>> > model           : 15
>>> > model name      : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz
>>> > stepping        : 6
>>> > cpu MHz         : 2333.560
>>> > cache size      : 4096 KB
>>> > physical id     : 0
>>> > siblings        : 2
>>> > core id         : 0
>>> > cpu cores       : 2
>>> > apicid          : 0
>>> > initial apicid  : 0
>>> > fdiv_bug        : no
>>> > hlt_bug         : no
>>> > f00f_bug        : no
>>> > coma_bug        : no
>>> > fpu             : yes
>>> > fpu_exception   : yes
>>> > cpuid level     : 10
>>> > wp              : yes
>>> > flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
>>> > mca
>>> > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm
>>> > constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3
>>> > cx16
>>> > xtpr dca lahf_lm
>>> > bogomips        : 4670.78
>>> > clflush size    : 64
>>> > power management:
>>> >
>>> > processor       : 1
>>> > vendor_id       : GenuineIntel
>>> > cpu family      : 6
>>> > model           : 15
>>> > model name      : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz
>>> > stepping        : 6
>>> > cpu MHz         : 2333.560
>>> > cache size      : 4096 KB
>>> > physical id     : 0
>>> > siblings        : 2
>>> > core id         : 1
>>> > cpu cores       : 2
>>> > apicid          : 1
>>> > initial apicid  : 1
>>> > fdiv_bug        : no
>>> > hlt_bug         : no
>>> > f00f_bug        : no
>>> > coma_bug        : no
>>> > fpu             : yes
>>> > fpu_exception   : yes
>>> > cpuid level     : 10
>>> > wp              : yes
>>> > flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
>>> > mca
>>> > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm
>>> > constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3
>>> > cx16
>>> > xtpr dca lahf_lm
>>> > bogomips        : 4666.82
>>> > clflush size    : 64
>>> > power management:
>>> >
>>> >
>>> >
>>> > uname -a
>>> > Linux l01sipindir1 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009
>>> > i686
>>> > GNU/Linux
>>> >
>>> >
>>> >
>>> > Of course, i've tuned the machine up
>>> >
>>> > 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
>>> >
>>> >
>>> > Started FS with minimum modules but still 40 CPS seems to be the limit.
>>> >
>>> >
>>> > So, is there any way to improve performance?
>>> >
>>> >
>>> > Tihomir.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > FreeSWITCH-users mailing list
>>> > FreeSWITCH-users at lists.freeswitch.org
>>> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> >
>>> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> > http://www.freeswitch.org
>>> >
>>> >
>>>
>>> _______________________________________________
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>




More information about the FreeSWITCH-users mailing list