SER and OpenSER t_relay tests

Tested routers did stateful forward to IP address in request URI of REGISTER message. Messages were generated by SIPP - Call-ID and branch contained incremented numbers. Messages were received by other SER responding statelessly with 200 on each received message.

SER/OpenSER used 512 MB of shared memory.

SER CVS version: head (2006/11/16 9:00)

SER version: 0.9.6 (downloaded 2006/11/22 21:00)

OpenSER version: openser-1.1.0-notls_src.tar.gz (downloaded 2006/11/16 9:00)

OpenSER CVS version: head (2006/11/22 21:00)

throughput

ser-0.9.61
Forward received message with t_relay.

This is 1. iteration.

ser-cvs.1
Forward received message with t_relay.

This is 1. iteration.

openser-1.1.0.1
Forward received message with t_relay.

This is 1. iteration.

openser-cvs.1
Forward received message with t_relay.

This is 1. iteration.

ser-0.9.62
Forward received message with t_relay.

This is 2. iteration.

ser-cvs.2
Forward received message with t_relay.

This is 2. iteration.

openser-1.1.0.2
Forward received message with t_relay.

This is 2. iteration.

openser-cvs.2
Forward received message with t_relay.

This is 2. iteration.

ser-0.9.63
Forward received message with t_relay.

This is 3. iteration.

ser-cvs.3
Forward received message with t_relay.

This is 3. iteration.

openser-1.1.0.3
Forward received message with t_relay.

This is 3. iteration.

openser-cvs.3
Forward received message with t_relay.

This is 3. iteration.


ser-0.9.61

Forward received message with t_relay.

This is 1. iteration.

additional SIPP args: -test relay

Used config file was t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in ser-0.9.61.screen.

SER version

version: ser 0.9.6 (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 @(#) $Id: main.c,v 1.197.2.1 2005/07/25 16:56:24 andrei Exp $ main.c compiled on 21:21:17 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 9054 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 9054 requests per second
Failures 0
Retransmissions 0
Timeout 0
Elapsed Time 00:09:12:257 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


ser-cvs.1

Forward received message with t_relay.

This is 1. iteration.

additional SIPP args: -test relay

Used config file was t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in ser-cvs.1.screen.

SER version

version: ser 0.10.99-dev57-tm_fixes (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_PTHREAD_MUTEX, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_DST_BLACKLIST MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.223 2006/11/04 01:31:06 andrei Exp $ main.c compiled on 00:44:18 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 9118 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 9118 requests per second
Failures 0
Retransmissions 0
Timeout 0
Elapsed Time 00:09:08:393 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


openser-1.1.0.1

Forward received message with t_relay.

This is 1. iteration.

additional SIPP args: -test relay

Used config file was openser_t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in openser-1.1.0.1.screen.

SER version

version: openser 1.1.0-notls (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.20 2006/07/04 17:25:54 bogdan_iancu Exp $ main.c compiled on 08:34:09 Nov 16 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 1648 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 1648 requests per second
Failures 26576
Retransmissions 1483
Timeout 21
Elapsed Time 00:50:33:959 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


openser-cvs.1

Forward received message with t_relay.

This is 1. iteration.

additional SIPP args: -test relay

Used config file was openser_t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in openser-cvs.1.screen.

SER version

version: openser 1.2.0-dev6-notls (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.23 2006/10/02 15:51:45 bogdan_iancu Exp $ main.c compiled on 21:25:15 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 1503 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 1503 requests per second
Failures 272196
Retransmissions 1745
Timeout 16
Elapsed Time 00:55:25:999 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


ser-0.9.62

Forward received message with t_relay.

This is 2. iteration.

additional SIPP args: -test relay

Used config file was t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in ser-0.9.62.screen.

SER version

version: ser 0.9.6 (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 @(#) $Id: main.c,v 1.197.2.1 2005/07/25 16:56:24 andrei Exp $ main.c compiled on 21:21:17 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 9079 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 9079 requests per second
Failures 0
Retransmissions 0
Timeout 0
Elapsed Time 00:09:10:738 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


ser-cvs.2

Forward received message with t_relay.

This is 2. iteration.

additional SIPP args: -test relay

Used config file was t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in ser-cvs.2.screen.

SER version

version: ser 0.10.99-dev57-tm_fixes (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_PTHREAD_MUTEX, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_DST_BLACKLIST MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.223 2006/11/04 01:31:06 andrei Exp $ main.c compiled on 00:44:18 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 9084 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 9084 requests per second
Failures 0
Retransmissions 0
Timeout 0
Elapsed Time 00:09:10:396 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


openser-1.1.0.2

Forward received message with t_relay.

This is 2. iteration.

additional SIPP args: -test relay

Used config file was openser_t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in openser-1.1.0.2.screen.

SER version

version: openser 1.1.0-notls (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.20 2006/07/04 17:25:54 bogdan_iancu Exp $ main.c compiled on 08:34:09 Nov 16 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 2012 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 2012 requests per second
Failures 0
Retransmissions 520
Timeout 0
Elapsed Time 00:41:25:202 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


openser-cvs.2

Forward received message with t_relay.

This is 2. iteration.

additional SIPP args: -test relay

Used config file was openser_t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in openser-cvs.2.screen.

SER version

version: openser 1.2.0-dev6-notls (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.23 2006/10/02 15:51:45 bogdan_iancu Exp $ main.c compiled on 21:25:15 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 1414 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 1414 requests per second
Failures 5823
Retransmissions 1986
Timeout 12
Elapsed Time 00:58:56:640 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


ser-0.9.63

Forward received message with t_relay.

This is 3. iteration.

additional SIPP args: -test relay

Used config file was t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in ser-0.9.63.screen.

SER version

version: ser 0.9.6 (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 @(#) $Id: main.c,v 1.197.2.1 2005/07/25 16:56:24 andrei Exp $ main.c compiled on 21:21:17 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 9104 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 9104 requests per second
Failures 0
Retransmissions 0
Timeout 0
Elapsed Time 00:09:09:215 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


ser-cvs.3

Forward received message with t_relay.

This is 3. iteration.

additional SIPP args: -test relay

Used config file was t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in ser-cvs.3.screen.

SER version

version: ser 0.10.99-dev57-tm_fixes (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_PTHREAD_MUTEX, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_DST_BLACKLIST MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.223 2006/11/04 01:31:06 andrei Exp $ main.c compiled on 00:44:18 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 9106 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 9106 requests per second
Failures 0
Retransmissions 0
Timeout 0
Elapsed Time 00:09:09:088 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


openser-1.1.0.3

Forward received message with t_relay.

This is 3. iteration.

additional SIPP args: -test relay

Used config file was openser_t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in openser-1.1.0.3.screen.

SER version

version: openser 1.1.0-notls (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.20 2006/07/04 17:25:54 bogdan_iancu Exp $ main.c compiled on 08:34:09 Nov 16 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 1502 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 1502 requests per second
Failures 225461
Retransmissions 1398
Timeout 3
Elapsed Time 00:55:28:330 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


openser-cvs.3

Forward received message with t_relay.

This is 3. iteration.

additional SIPP args: -test relay

Used config file was openser_t_relay.cfg, sipp scenario register_users.xml, sipp output screens are in openser-cvs.3.screen.

SER version

version: openser 1.2.0-dev6-notls (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. @(#) $Id: main.c,v 1.23 2006/10/02 15:51:45 bogdan_iancu Exp $ main.c compiled on 21:25:15 Nov 22 2006 with gcc 3.3.5

SIPP command

sipp -sf scenarios/register_users.xml -trace_screen -trace_rtt -domain "10.38.2.19" -r 20000 -l 32 -m 5000000 213.192.30.210:5060 -test relay

Test stopped after 5000000 iterations, maximum allowed simultaneous calls were 32; reached average call throughput was 1967 calls per second.

Iterations 5000000
Max concurent calls 32
Max allowed Rate 20000 requests per second
Average Call Rate 1967 requests per second
Failures 0
Retransmissions 690
Timeout 0
Elapsed Time 00:42:21:511 hour:min:sec:msec

response times response times - histogram CPU usage request times - histogram


Test information

Test done by kubartv from pres on Wed Nov 22 22:46:22 CET 2006.

Tested machine

Test done under user kubartv on 213.192.30.210, helping machine (if used) is 10.38.2.19, user kubartv.

Linux pulpuk 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux

CPU

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 15
model		: 2
model name	: Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping	: 9
cpu MHz		: 2799.034
cache size	: 512 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
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 cid
bogomips	: 5554.17

Memory

             total       used       free     shared    buffers     cached
Mem:        906736     813772      92964          0     409300     127816
-/+ buffers/cache:     276656     630080
Swap:      3903672          0    3903672

SER version

not checked

Graph descriptions

There are these graphs for each scenario:

response delay
Time for each response; on X-axis is request time, i.e. when was the request sent, on Y-axis is how long time was between sending request and receiving the response. This value is not the same as values measured by watching network traffic probably due to some sipp delay.

response delay histogram
Histogram made from time differences between requests and responses. It shows numbers of "groups" of response times (for example response time between A and B ms was xxx-times, ...).

CPU usage
Shows sumary for all monitored processes for given time. Monitored processors can be set within variables script when generating the output (not needed in runtime). This output is taken from top which collects this information for one second. It can be more than 100% in the case of more processors (for example tc4 has two hyperthreaded processors thus it can show values up to 400%).

sent request histogram
Shows numbers of sent requests grouped by one second. Sometimes it shows strange jumps (for example in t_relay scenario after shmem is gone)...

Test result notes

SIPP is set to allow at most 32 calls at the same time. This means that when there are 32 pending calls (waiting for response) it doesn't create new ones.

You have to patch sipp using given patch for all tests to be correct.

It is strongly recommended to have public key on remote machine in authorized keys.

Warning - repeated adding and removing data from database causes full disc after some time.