Hi,
I am currently doing some characterization testing to figure
out the limitations of my freeswitch server. I have tried both with SIPP and by
driving SIP calls
between 2 Freeswitch through mod_event_socket. I get similar
results both ways and I am suspicious of the results I get.
Basically, whenever I try to launch calls with SIPP at a
rate superior than 8 cps, it seems like calls are being stacked. The response
time for a call between
the “invite” and the corresponding “200 OK”
keeps increasing as long as calls are being made which slows down the
processing speed until the average
CPS gets around 8 cps.
My setup is :
1 Dual-Core AMD Opteron(tm) Processor 8216 @ 2.4 GHz
4 GB of RAM
Gigabit NIC
Centos 5
FreeSwitch Version 1.0.trunk (8911M)
I think that my setup is underperforming and that it might
be related to some missing configuration tweaks. I already adjusted the ulimit
to the
recommended settings in the wiki for maximum performance. I
was wondering if there might be something else, that I’m still missing.
Would any of you have an idea of what might be holding back
my setup ?
Thanks !
PG
P.S. I gathered a bunch of information that I thought could
be useful.
Freeswitch performance settings In switch.conf.xml
<!--Most channels to allow at
once -->
<param
name="max-sessions" value="10000"/>
<!--Most channels to create
per second -->
<param name="sessions-per-second"
value="1000"/>
<!-- Default Global Log Level
- value is one of debug,info,notice,warning,err,crit,alert -->
<param name="loglevel" value="alert"/>
Here is the SIPP command I used, based on Freeswitch
load_test script.
# sipp -sf dft_cap.xml 192.168.100.9 -s 9990 -r 15 -rp 1000
-l 200 -d 10000 -i 192.168.100.200 -mi 192.168.100.200
# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model
: 65
model name : Dual-Core AMD
Opteron(tm) Processor 8216
stepping : 2
cpu MHz :
2411.121
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu
: yes
fpu_exception : yes
cpuid level : 1
wp
: yes
flags
: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni
cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips : 4823.60
TLB size : 1024 4K
pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits
virtual
power management: ts fid vid ttp tm stc
# cat /proc/meminfo
MemTotal: 4042672 kB
MemFree: 843188 kB
Buffers: 256676 kB
Cached: 2671172 kB
SwapCached: 1092 kB
Active:
777140 kB
Inactive: 2192840 kB
HighTotal:
0 kB
HighFree:
0 kB
LowTotal: 4042672 kB
LowFree: 843188 kB
SwapTotal: 2031608 kB
SwapFree: 2016120 kB
Dirty:
0 kB
Writeback:
0 kB
AnonPages: 41068 kB
Mapped:
26028 kB
Slab:
195536 kB
PageTables: 5672 kB
NFS_Unstable: 0 kB
Bounce:
0 kB
CommitLimit: 4052944 kB
Committed_AS: 153064 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 35492 kB
VmallocChunk: 34359692283 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
# ulimit –a
core file
size (blocks, -c) 0
data seg
size (kbytes, -d)
unlimited
scheduling
priority
(-e) 0
file
size
(blocks, -f) unlimited
pending
signals
(-i) 40960
max locked memory
(kbytes, -l) 32
max memory
size (kbytes, -m) unlimited
open
files
(-n) 1024
pipe
size (512
bytes, -p) 8
POSIX message
queues (bytes, -q) 819200
real-time
priority
(-r) 0
stack
size
(kbytes, -s) 10240
cpu
time
(seconds, -t) unlimited
max user
processes
(-u) 40960
virtual
memory (kbytes, -v) unlimited
file
locks
(-x) unlimited
# top
top - 14:31:16 up 1 day, 58 min, 2 users, load
average: 5.73, 6.83, 5.36
Tasks: 129 total, 1 running, 128
sleeping, 0 stopped, 0 zombie
Cpu(s): 7.0%us, 2.8%sy, 0.0%ni, 50.8%id,
38.8%wa, 0.0%hi, 0.5%si, 0.0%st
Mem: 4042672k total, 3418968k
used, 623704k free, 256904k buffers
Swap: 2031608k total, 15488k
used, 2016120k free, 2681820k cached
PID USER PR
NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
6078 root 18
0 614m 109m 6480 S 19 2.8 3:39.11
freeswitch