Some results from tshark on the Freeswitch SBC
tshark -i any -f " portrange 6000-6030 or portrange 5430-5460 or port 5060" -w rtp_test_2000_final6.pcap
tshark -i any -r rtp_test_2000_final6.pcap -q -z rtp,streams
========================= RTP Streams ========================
Src IP addr Port Dest IP addr Port SSRC Payload Pkts Lost Max Delta(ms) Max Jitter(ms) Mean Jitter(ms) Problems?
172.23.125.42 6000 172.23.125.46 21656 0x5D628E99 SILK 9384 8 (0.1%) 0.00 0.00 0.00 X
172.23.125.42 6004 172.23.125.46 31046 0x5D628E99 SILK 9387 9 (0.1%) 0.00 0.00 0.00 X
172.23.125.46 21656 172.23.125.42 6000 0xB837AEF9 SILK 5938 4 (0.1%) 0.00 0.00 0.00 X
172.23.125.42 6008 172.23.125.46 30098 0x5D628E99 SILK 9385 9 (0.1%) 0.00 0.00 0.00 X
172.23.125.42 6012 172.23.125.46 27704 0x5D628E99 SILK 9386 7 (0.1%) 0.00 0.00 0.00 X
172.23.125.42 6016 172.23.125.46 31888 0x5D628E99 SILK 9387 8 (0.1%) 0.00 0.00 0.00 X
172.23.125.42 6020 172.23.125.46 23834 0x5D628E99 SILK 9383 11 (0.1%) 0.00 0.00 0.00 X
172.23.125.42 6024 172.23.125.46 28654 0x5D628E99 SILK 9384 10 (0.1%) 0.00 0.00 0.00 X
172.23.125.42 6028 172.23.125.46 20508 0x5D628E99 SILK 9384 9 (0.1%) 0.00 0.00 0.00 X
172.23.125.111 17886 172.23.125.108 5430 0x8C7D01EB ITU-T G.711 PCMA 6321 7 (0.1%) 164.75 255.72 24.33 X
172.23.125.111 20028 172.23.125.108 5434 0x902B9E9B ITU-T G.711 PCMA 6250 5 (0.1%) 164.71 261.51 24.59 X
172.23.125.111 24484 172.23.125.108 5442 0x902CEEAB ITU-T G.711 PCMA 6360 3 (0.0%) 185.83 211.48 24.34 X
172.23.125.111 23012 172.23.125.108 5438 0x9904D0BB ITU-T G.711 PCMA 6359 2 (0.0%) 155.48 254.51 24.20 X
172.23.125.111 26100 172.23.125.108 5446 0x9906A10B ITU-T G.711 PCMA 6354 10 (0.2%) 170.63 230.68 24.24 X
172.23.125.111 25534 172.23.125.108 5450 0x8C7F224B ITU-T G.711 PCMA 6210 7 (0.1%) 176.21 276.95 24.67 X
172.23.125.111 24274 172.23.125.108 5454 0x8C80926B ITU-T G.711 PCMA 6294 2 (0.0%) 199.27 253.83 24.49 X
172.23.125.111 17884 172.23.125.108 5458 0x902E3EBB ITU-T G.711 PCMA 6378 10 (0.2%) 166.43 252.46 24.23 X
172.23.125.111 24240 172.23.125.108 6006 0x92E4386E ITU-T G.711 PCMA 6150 3 (0.0%) 207.51 246.84 24.95 X
172.23.125.111 27234 172.23.125.108 6002 0x8C62004E ITU-T G.711 PCMA 6280 3 (0.0%) 240.75 222.93 24.65 X
172.23.125.111 23198 172.23.125.108 6010 0x8C63706E ITU-T G.711 PCMA 6312 6 (0.1%) 152.98 210.53 24.47 X
172.23.125.111 22242 172.23.125.108 6014 0x98EF8A3E ITU-T G.711 PCMA 6358 2 (0.0%) 162.71 221.53 24.33 X
172.23.125.111 31472 172.23.125.108 6018 0x85949B9E ITU-T G.711 PCMA 6350 8 (0.1%) 162.41 205.65 24.39 X
172.23.125.111 18000 172.23.125.108 6022 0x98F0DA4E ITU-T G.711 PCMA 6382 9 (0.1%) 161.46 201.20 24.25 X
172.23.125.111 21464 172.23.125.108 6026 0x8C64FC2E ITU-T G.711 PCMA 6282 5 (0.1%) 159.87 218.82 24.69 X
172.23.125.111 31828 172.23.125.108 6030 0x98F22A5E ITU-T G.711 PCMA 6283 3 (0.0%) 151.56 223.87 24.52 X
mvg,
Edwin
Van: Hoexum, Edwin
Verzonden: donderdag 28 juni 2012 20:42
Aan: 'FreeSWITCH-users@lists.freeswitch.org'
Onderwerp: RTP delay > 100ms by performance testing with freeswitch as trancoding device SILK to G711a
Gents,
I am trying to do some load testing on a freeswitch for transcoding from SILK to G711a. The question is: Is the limit for RTP sessions limited to CPU power or are there also limits on the freeswitch application and
can I tune freeswitch to do the job for 1500 sessions or more.
At the moment freeswitch is the best transcoding device for SILK to G711a that I know of. Also compared to the big companies who deliver transcoding devices.
SETUP:
3 X G7 HP DL 380 with 16 G mem 6 core 12 CPU’s
1 for SIPP UAC (1Gb interface for media and Signaling)
1 for Freeswitch (trancoding function SILK to G711a) 1Gb interface for media and Signaling
1 for SIPP UAS (1Gb interface for media and Signaling)
First tuning OS (with help from the wiki and some LINUX sysctl tuning)
SIPP UAC <-> Freeswitch
root@mnd-rc0001-srvot02:~# iperf -c 172.23.125.46 -u -d -b 400m
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 172.23.125.46, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[ 4] local 172.23.125.42 port 46443 connected with 172.23.125.46 port 5001
[ 3] local 172.23.125.42 port 5001 connected with 172.23.125.46 port 39259
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 483 MBytes 405 Mbits/sec
[ 4] Sent 344796 datagrams
[ 3] 0.0-10.0 sec 483 MBytes 406 Mbits/sec 0.001 ms 0/344828 (0%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
[ 4] Server Report:
[ 4] 0.0-10.0 sec 483 MBytes 405 Mbits/sec 0.004 ms 261/344795 (0.076%)
[ 4] 0.0-10.0 sec 1 datagrams received out-of-order
root@mnd-rc0001-srvot02:~#
Linux mnd-rc0001-srvot06 2.6.32-28-vserver #55~ppa1-Ubuntu SMP Fri Feb 4 21:25:09 UTC 2011 x86_64 GNU/Linux
Ubuntu 10.04 LTS
Welcome to Ubuntu!
* Documentation:
https://help.ubuntu.com/
Last login: Thu Jun 21 15:01:35 2012 from 172.21.88.65
root@mnd-rc0001-srvot06:~# iperf -s -u -i1
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 172.23.125.42, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[ 5] local 172.23.125.46 port 39259 connected with 172.23.125.42 port 5001
[ 3] local 172.23.125.46 port 5001 connected with 172.23.125.42 port 46443
[ ID] Interval Transfer Bandwidth
[ 5] 0.0- 1.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 0.0- 1.0 sec 48.4 MBytes 406 Mbits/sec 0.004 ms 262/34754 (0.75%)
[ 5] 1.0- 2.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 1.0- 2.0 sec 48.3 MBytes 405 Mbits/sec 0.005 ms 0/34476 (0%)
[ 5] 2.0- 3.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 2.0- 3.0 sec 48.3 MBytes 405 Mbits/sec 0.005 ms 0/34480 (0%)
[ 5] 3.0- 4.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 3.0- 4.0 sec 48.3 MBytes 406 Mbits/sec 0.004 ms 0/34483 (0%)
[ 5] 4.0- 5.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 4.0- 5.0 sec 48.3 MBytes 406 Mbits/sec 0.005 ms 0/34482 (0%)
[ 5] 5.0- 6.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 5.0- 6.0 sec 48.3 MBytes 405 Mbits/sec 0.004 ms 0/34474 (0%)
[ 5] 6.0- 7.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 6.0- 7.0 sec 48.3 MBytes 405 Mbits/sec 0.005 ms 0/34477 (0%)
[ 5] 7.0- 8.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 7.0- 8.0 sec 48.3 MBytes 405 Mbits/sec 0.004 ms 0/34480 (0%)
[ 5] 8.0- 9.0 sec 48.3 MBytes 406 Mbits/sec
[ 3] 8.0- 9.0 sec 48.3 MBytes 406 Mbits/sec 0.005 ms 0/34482 (0%)
[ 5] 9.0-10.0 sec 48.3 MBytes 406 Mbits/sec
[ 5] 0.0-10.0 sec 483 MBytes 406 Mbits/sec
[ 5] Sent 344829 datagrams
[ 3] 0.0-10.0 sec 483 MBytes 405 Mbits/sec 0.004 ms 261/344795 (0.076%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
[ 5] Server Report:
[ 5] 0.0-10.0 sec 483 MBytes 406 Mbits/sec 0.000 ms 0/344828 (0%)
[ 5] 0.0-10.0 sec 1 datagrams received out-of-order
UDP traffic looks fine.
SIPP (UAC) inject SILK RTP (PCAP ) and send this to Freeswitch. Freeswitch send this G711a to the SIPP( UAS).
I doing some testing and until 700 sessions it look fine (Packed loss <0.1% and delay <40ms)
If I do more sessions 10% of packet have no packet loss but delay of more the 100ms.
SIPP uac side:
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
Call-rate(length) Port Total-time Total-calls Remote-host
50.0(0 ms)/1.000s 5060 230.53 s 2000 172.23.125.12:5060(UDP)
Call limit reached (-m 2000), 0.000 s period 0 ms scheduler resolution
0 calls (limit 4500) Peak was 2000 calls, after 40 s
0 Running, 1654 Paused, 0 Woken up
0 dead call msg (discarded) 6459 out-of-call msg (discarded)
1 open sockets
Messages Retrans Timeout Unexpected-Msg
Pause [ 2000ms] 2000 0
INVITE ----------> 2000 0 0
100 <---------- 2000 0 0 0
183 <---------- 0 0 0 0
400 <---------- 0 0 0 0
401 <---------- 0 0 0 0
403 <---------- 0 0 0 0
404 <---------- 0 0 0 0
405 <---------- 0 0 0 0
406 <---------- 0 0 0 0
408 <---------- 0 0 0 0
415 <---------- 0 0 0 0
433 <---------- 0 0 0 0
480 <---------- 0 0 0 0
481 <---------- 0 0 0 0
484 <---------- 0 0 0 0
485 <---------- 0 0 0 0
486 <---------- 0 0 0 0
487 <---------- 0 0 0 0
488 <---------- 0 0 0 0
489 <---------- 0 0 0 0
500 <---------- 0 0 0 0
502 <---------- 0 0 0 0
503 <---------- 0 0 0 0
180 <---------- 2000 0 0 0
200 <---------- E-RTD1 2000 0 0 0
ACK ----------> 2000 0
Pause [ 500ms] 2000 0
[ NOP ]
BYE <---------- 2000 0 0 0
200 ----------> 2000 0
------------------------------ Test Terminated --------------------------------
----------------------------- Statistics Screen ------- [1-9]: Change Screen --
Start Time | 2012-06-28 20:17:17:312 1340907437.312927
Last Reset Time | 2012-06-28 20:21:07:857 1340907667.857562
Current Time | 2012-06-28 20:21:07:857 1340907667.857769
-------------------------+---------------------------+--------------------------
Counter Name | Periodic value | Cumulative value
-------------------------+---------------------------+--------------------------
Elapsed Time | 00:00:00:000 | 00:03:50:544
Call Rate | 0.000 cps | 8.675 cps
-------------------------+---------------------------+--------------------------
Incoming call created | 0 | 0
OutGoing call created | 0 | 2000
Total Call created | | 2000
Current Call | 0 |
SIPP UAS side:
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
Port Total-time Total-calls Transport
5060 65.10 s 2000 UDP
0 new calls during 1.001 s period 1 ms scheduler resolution
2000 calls Peak was 2000 calls, after 44 s
0 Running, 2002 Paused, 4 Woken up
0 dead call msg (discarded)
3 open sockets
2021 Total echo RTP pckts 1st stream 5.327 last period RTP rate (kB/s)
0 Total echo RTP pckts 2nd stream 0.000 last period RTP rate (kB/s)
Messages Retrans Timeout Unexpected-Msg
----------> INVITE 2000 0 0 0
<---------- 100 2000 0
[ 500ms] Pause 2000 0
<---------- 180 2000 0
<---------- 200 2000 0 0
----------> ACK 2000 0 0 0
[ 3:08] Pause 2000 0
<---------- BYE 0 0 0
----------> 200 0 0 0 0
------------------------------ Sipp Server Mode -------------------------------
##############################################################################
MPSTAT –A 5 on freeswitch:
8:29:50 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
18:29:55 all 24.84 0.00 25.63 0.00 0.02 7.46 0.00 0.00 42.05
18:29:55 0 43.52 0.00 26.72 0.00 0.00 4.05 0.00 0.00 25.71
18:29:55 1 27.88 0.00 39.18 0.00 0.00 3.12 0.00 0.00 29.82
18:29:55 2 27.70 0.00 33.40 0.00 0.00 4.17 0.00 0.00 34.72
18:29:55 3 25.57 0.00 35.98 0.00 0.00 3.03 0.00 0.00 35.42
18:29:55 4 27.36 0.00 27.56 0.00 0.00 2.56 0.00 0.00 42.52
18:29:55 5 25.45 0.00 24.44 0.00 0.00 2.22 0.00 0.00 47.88
18:29:55 6 24.77 0.00 31.28 0.00 0.00 2.98 0.00 0.00 40.97
18:29:55 7 23.05 0.00 23.81 0.00 0.00 2.67 0.00 0.00 50.48
18:29:55 8 22.22 0.00 23.03 0.00 0.20 2.02 0.00 0.00 52.53
18:29:55 9 4.84 0.00 5.71 0.00 0.00 62.86 0.00 0.00 26.59
18:29:55 10 23.36 0.00 17.01 0.00 0.00 2.46 0.00 0.00 57.17
18:29:55 11 20.21 0.00 15.11 0.00 0.00 2.98 0.00 0.00 61.70
18:29:50 CPU intr/s
18:29:55 all 30433.80
18:29:55 0 0.00
18:29:55 1 0.00
18:29:55 2 0.00
18:29:55 3 0.00
18:29:55 4 0.00
18:29:55 5 0.00
18:29:55 6 0.00
18:29:55 7 0.00
18:29:55 8 0.00
18:29:55 9 0.00
18:29:55 10 0.00
18:29:55 11 0.00
18:29:50 CPU 0/s 1/s 8/s
18:29:55 0 0.00 0.00 0.00
18:29:55 1 0.00 0.00 0.00
18:29:55 2 0.00 0.00 0.00
18:29:55 3 0.00 0.00 0.00
18:29:55 4 0.00 0.00 0.00
18:29:55 5 0.00 0.00 0.00
18:29:55 6 0.00 0.00 0.00
18:29:55 7 0.00 0.00 0.00
18:29:55 8 0.00 0.00 0.00
18:29:55 9 0.00 0.00 0.00
18:29:55 10 0.00 0.00 0.00
18:29:55 11 0.00 0.00 0.00
I tested it with G711a to G711a and got the same result.
I tested also some RTP parameters like
<param name="rtp-autoflush-during-bridge" value="true"/> or false
<param name="rtp-autoflush" value="true"/> or false
The lot of the module are not activated like CDR stuff.
mvg,
Edwin