This book contains performance benchmarks using Metaswitch’s OCSS7.

It contains these sections:

  • Benchmark Scenarios — descriptions of each of the benchmark scenarios, and notes on the benchmark methodology used.

  • Hardware and Software — details of the hardware, software, and configuration used for the benchmarks.

  • Benchmark Results — summaries of the benchmarks and links to detailed metrics.

Other documentation for OCSS7 can be found on the OCSS7 product page.

Benchmark Scenarios

This page describes the scenarios and methodology used when running the benchmarks.

Benchmarks are run using two scenarios: CAP and MAP.

CAP call monitoring scenario

These scenarios consist of dialogs following the message flow:

  • The initiator sends a TC-BEGIN initiating a CAP v2 dialog, containing an CAP InitialDP operation invoke

  • The responder sends a TC-CONTINUE containing two operation invokes: CAP RequestReportBCSM(oAnswer,oDisconnect), and CAP Continue

  • The initiator delays for 10 seconds

  • The initiator sends a TC-CONTINUE containing a CAP EventReportBCSM(oAnswer) operation invoke

  • The initiator delays for 60 seconds

  • The initiator sends a TC-CONTINUE containing a CAP EventReportBCSM(oDisconnect) operation invoke

  • The dialog is ended with prearranged end on both the initiator and responder

TestCAPCallMonitoring

Response time is measured on the test system by the scenario simulator infrastructure, from immediately before submission of the InitialDP to the TCAP stack, to immediately after receipt of the TC-CONTINUE containing the CAP Continue invoke from the TCAP stack.

MAP SRI for SM scenario

These scenarios consist of dialogs following the message flow:

  • The initiator sends a TC-BEGIN initiating a MAP dialog, containing SEND-ROUTING- INFO-FOR-SM invoke

  • The responder immediately responds with a TC-END containing a SEND-ROUTING- INFO-FOR-SM result

TestSRIforSM

Response time is measured on the test system by the scenario simulator infrastructure, from immediately before submission of the SendRoutingInfoForSM(Request) to the TCAP stack, to immediately after receipt of the SendRoutingInfoForSM(Result) from the TCAP stack.

Test setup

Each test run consists of a 10 minute ramp-up period where load is increased from zero to the target rate; then a 2 hour measurement period at peak load; then a 2 minute drain period during which no new dialogs are initiated.

The ramp-up period is included as the Oracle JVM provides a Just In Time (JIT) compiler. The JIT compiler compiles Java bytecode to machinecode, and recompiles code on the fly to take advantage of optimizations not otherwise possible. This dynamic compilation and optimization process takes some time to complete. During the early stages of JIT compilation/optimization, the node cannot process full load. JVM garbage collection does not reach full efficiency until several major garbage collection cycles have completed.

Only latency measurements during the measurement period are used; latency measurements during the ramp-up period are ignored.

Load is not stopped between ramp up and starting the test timer.

Hardware and Software

This page describes the hardware and software used when running the benchmarks.

Hardware

OCSS7 benchmarks hardware
EC2 Instance Type Number Of Instances EC2 Optimisation Specs OS

c5d.2xlarge

4

compute

CPU: 8 Cores, RAM: 16 Gb, Attached storage: SSD 200 Gb

CentOS 7.6 1810 (Core)

c5d.4xlarge

2

compute

CPU: 8 Cores, RAM: 32 Gb, Attached storage: SSD 2x200 Gb

CentOS 7.6 1810 (Core)

Software

Vendor Software Version

Oracle

Java

JDK 1.8.0_60 (64 bit)

Metaswitch

Metaswitch OCSS7

3.0.0.0

Metaswitch

Scenario Simulator

2.3.0.8

Metaswitch

IN Scenario Pack

2.0.0.0

Configuration

SGC Configuration
Parameter Value

Heap size

1024M

com.cts.ss7.commsp.server.sendQueueCapacity

1024

sgc.ind.pool_size

10000

sgc.req.pool_size

10000

sgc.worker.threads

32

Server Kernel Parameters
Parameter Value

net.sctp.rto_min

80

net.sctp.sack_timeout

70

net.core.rmem_max

2048000

net.core.wmem_max

2048000

Benchmark Results

A summary of the benchmark results follows. Click on a benchmark name for detailed results.

Benchmark Rate CPU Usage

6000 calls per second (24000 messages per second)

Configuration Across 8 cores (16 threads)

OCSS7 node 1 as SSF

89.0%

OCSS7 node 2 as SSF

89.0%

OCSS7 node 1 as SCF

92.0%

OCSS7 node 2 as SCF

93.0%

20000 calls per second (40000 messages per second)

Configuration Across 8 cores (16 threads)

OCSS7 node 1 as SMSC

160.0%

OCSS7 node 2 as SMSC

160.0%

OCSS7 node 1 as HLR

130.0%

OCSS7 node 2 as HLR

130.0%

CAP Call Monitoring scenario

This page summarises the results for benchmarks executed with the CAP Call Monitoring scenario. Detailed metrics follow the summary tables.

The CAP call monitoring scenario description has more information on how these configurations are defined.

Benchmarks

6000 calls per second (24000 messages per second)

Configuration Across 8 cores (16 threads)

OCSS7 node 1 as SSF

89.0%

OCSS7 node 2 as SSF

89.0%

OCSS7 node 1 as SCF

92.0%

OCSS7 node 2 as SCF

93.0%

Note Maximum theoretical CPU usage is 1600%.
Configuration Average heap

OCSS7 node 1 as SSF

440MB

OCSS7 node 2 as SSF

450MB

OCSS7 node 1 as SCF

440MB

OCSS7 node 2 as SCF

440MB

50th 75th 90th 95th 99th

0.7ms

0.8ms

0.8ms

0.9ms

10.4ms

Detailed metrics

Call Rate

cap SSF sim rate

CPU usage

cap PC101 0 cpu
OCCS7 node 1 as SSF
cap PC101 1 cpu
OCCS7 node 2 as SSF
cap PC102 0 cpu
OCCS7 node 1 as SCF
cap PC102 1 cpu
OCCS7 node 2 as the SCF

Heap usage

cap PC101 0 heap
OCCS7 node 1 as SSF
cap PC101 1 heap
OCCS7 node 2 as SSF
cap PC102 0 heap
OCCS7 node 1 as SCF
cap PC102 1 heap
OCCS7 node 2 as SCF

Scenario latencies

cap SSF sim latency

MAP SRI for SM scenario

This page summarises the results for benchmarks executed with the MAP SRI for SM scenario. Detailed metrics follow the summary tables.

The MAP SRI for SM scenario description has more information on how these configurations are defined.

Benchmarks

20000 calls per second (40000 messages per second)

Configuration Across 8 cores (16 threads)

OCSS7 node 1 as SMSC

160.0%

OCSS7 node 2 as SMSC

160.0%

OCSS7 node 1 as HLR

130.0%

OCSS7 node 2 as HLR

130.0%

Maximum theoretical CPU usage is 1600%

Configuration Average heap

OCSS7 node 1 as SMSC

430MB

OCSS7 node 2 as SMSC

430MB

OCSS7 node 1 as HLR

430MB

OCSS7 node 2 as HLR

420MB

50th 75th 90th 95th 99th

0.7ms

0.8ms

0.8ms

0.9ms

5.9ms

Detailed metrics

Call Rate

map SMSC sim rate

CPU usage

map PC101 0 cpu
OCCS7 node 1 as SMSC
map PC101 1 cpu
OCCS7 node 2 as SMSC
map PC102 0 cpu
OCCS7 node 1 as HLR
map PC102 1 cpu
OCCS7 node 2 as HLR

Heap usage

map PC101 0 heap
OCCS7 node 1 as SMSC
map PC101 1 heap
OCCS7 node 2 as SMSC
map PC102 0 heap
OCCS7 node 1 as HLR
map PC102 1 heap
OCCS7 node 2 as HLR

Scenario latencies

map SMSC sim latency