[Freeswitch-users] RTP delay > 100ms by performance testing with freeswitch as trancoding device SILK to G711a

Hoexum, Edwin edwin.hoexum at office.ziggo.nl
Thu Jun 28 22:41:59 MSD 2012


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 at 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 at 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 at 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


________________________________
This message is confidential and may be privileged. Any review, retransmission, dissemination or other use of, taking any action with reference to this information by persons other then the intended recipient is prohibited. If you receive this message in error, please notify the sender by reply e-mail and delete this message from all computers. Please note that e-mails are susceptible to change. The sender will not accept liability for the improper or incomplete transmission of the information contained in this message.

Spaar het milieu door deze e-mail niet te printen/Please consider the environment before printing this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120628/8a9b534e/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list