Goals
Measure the impact of tweaks and features and dialplans on CPU utilzation.
Variables
- CPS benchmarks
- stack 250B vs defatult
- log levels
- SQLite on/off
- SQLite on ramdisk
- CSV CDR on/off
- XML CDR dir on/off
- XML CDR url on/off
- Call auth on/off
- Dialplan length 1/10/100/1000/10000 regexp entries
- DIALPLAN, LUA, outbound socket, ODBC, MEMCACHE bridge
- IVR vs SIP2SIP Bridge
- presence on/off
- RTP benchmarks
- NOMEDIA vs MEDIA
- call recording to RAID-1 on/off
- call recording to ramdisk on/off
- rtptimer soft/none
CPS benchmark results for 300 CPS and 0.05s call duration
config |
cpu total |
io wait |
vs ref. |
disk tps |
system mem. |
remarks |
|---|---|---|---|---|---|---|
reference |
24.67% |
0.00% |
n/a |
7 |
411MB |
config as in Maxed out CPS test |
stack 10240b, no -hp |
25.39% |
0.00% |
103% |
7 |
349MB |
reference but no -hp command line setting |
log notice |
25.47% |
0.02% |
103% |
135 |
422MB |
freeswitch.log with logs of levels notice and up |
log debug |
27.99% |
0.15% |
113% |
1450 |
420MB |
heavy debug logging (no sofia debugs) |
sqlite on |
27.48% |
0.05% |
111% |
284 |
429MB |
reference with sqlite turned on |
sqlite tmpfs |
25.36% |
0.00% |
103% |
7 |
440MB |
tmpfs = all the benefits of sqlite with no perfmance hit |
XMLCDR DIR on |
26.85% |
0.22% |
109% |
1522 |
505MB |
heavy XML cdr logging - single file per call |
XMLCDR DIR+SQL+DEBUG |
34.30% |
1.50% |
139% |
4436 |
680MB |
XML cdr to local HDD + SQLite + debug logs |
CSVCDR+SQL+DEBUG |
32.00% |
0.25% |
130% |
1789 |
489MB |
almost a default config - cdrs into a single file |
CSVCDR+DEBUG:NFS SQL:TMPFS |
29.94% |
0.00% |
121% |
0 |
422MB |
same as above but with logginng onto NFSv4 and SQLite on tmpfs |
XMLCDR URL |
28.89% |
0.00% |
117% |
7 |
437MB |
external CDR collecting host |
Call auth on |
30% |
6.05% |
|
12074 |
580MB |
test failed with most calls dropped due to SQLite lock contention |
Call auth on + SQLite:tmpfs |
|
|
|
|
|
still trying to come up with config that does not fail this test |
1000th dialplan entry |
29.92% |
0.00% |
129% |
0 |
495MB |
dialplan has 999 simple regexp ^00000000$ extensions before the called one |
5000th dialplan entry |
61.43% |
0.00% |
249% |
0 |
574MB |
dialplan has 4999 simple regexp ^00000000$ extensions before the called one |
10000th dialplan entry |
95% |
|
|
|
|
the box didn't make it |