Control-Plane Benchmark

Reference Implementation

Overview

You need 4 nodes. We label them CLIENT, SERVER1, SERVER2
and SUT as per spec. You need a copy of
impl-yyyy-mm-dd.tar.gz on
all nodes, please satisfy its dependencies as listed in the
file README. In the instructions, replace SUTIP with
the IP that the SUT is using to communicate with the
CLIENT, similarly, CLIENTIP with the IP the client is using
to communicate with the SUT.

Benchmark is run by following these steps:

Set up OpenSER and utilities on SUT.

Set up SIPp on SERVER1 & 2 and CLIENT.

OPTIONALLY Run the echo test.

Calibrate the rate for the SUT.

Perform the actual benchmark.

These are covered in order.

Set up OpenSER and load generator on SUT

Build the SUT and tools:

SUT> tar xzvf impl-yyyy-mm-dd.tar.gz
SUT> cd impl
SUT> ./build-sut.sh

If you wish to place artificial load on the SUT,
first find out the operating parameter with iters:

SUT> ./iters

Run SUT with the provided script:

SUT> ./run-sut.sh SUTIPthreadsmemoryCPUload CPUitersauxlogfile

Where threads is the number of threads openser shall use
(8 or more recommended),
memory is the amount of memory needed for
openser (should be 32M for every 1,000 users or more),
CPUload is the desired amount of background
CPU load percentage (use 0 for no load), CPUiters
is the number reported by iters in the previous
step, or 0 if not needed and auxlogfile is the
file where memory and CPU load statistics are collected.

Where begin and end are timestamps between
which the benchmark took place and basename is the
prefix for output filenames. See "alog -h" for details.
Collect statistics and produce graphs from the analyzed
log files through: