3 Benchmark Testing
This section describes the environment used for benchmarking Oracle Communications Cloud Native Core, Network Slice Selection Function (NSSF).
The default values or recommendations for any required software or resource are available from the third-party vendors. Benchmarking should be performed with the settings described in this section. Operators may choose different values.
The benchmark testing is performance testing with the fine-tuning done to improve the performance of NSSF. It is performed in the CNE environment.
3.1 Test Scenario-1: NSSF Performance with 10.5K TPS
3.1.1 Overview
To qualify the test run, you can consider the following elements:
- CPU and Memory utilization
- Ingress and Egress traffic rate
- Success rate
- Message request and response processing time
- Infrastructure resource requirements and utilization
Note:
The performance and capacity of the NSSF system may vary based on the call model, Feature or Interface configuration, and underlying CNE and hardware environment.3.1.2 NSSF Features
Table 3-1 NSSF Features
NSSF Features | Status for benchmarking |
---|---|
Enhanced Computation of AllowedNSSAI in NSSF | ENABLED |
Auto-Population of Configuration Based on NsAvailability Update | ENABLED |
Handover from EPS to 5G | ENABLED |
Subscription Modification Feature | ENABLED |
Optimized NSSAI Availability Data Encoding and TAI Range | ENABLED |
Support Indirect Communication | ENABLED |
Multiple PLMN Support | ENABLED |
Integration with ASM | ENABLED |
Supports Compression Using Accept-Encoding or Content-Encoding gzip | ENABLED |
OAuth Access Token Based Authorization with K-id | ENABLED |
Overload control | ENABLED |
Note:
Apart from these features being enabled, rest of the configurations have been made default.3.1.3 Software Test Constraints
Table 3-2 Software Test Constraints
Test Constraint | Details |
---|---|
NSSF Version | 25.1.200 |
cnDBTier | 25.1.2xx |
Sidecar ENABLED/DISABLED | Enabled |
TLS ENABLED/DISABLED | Disabled |
3.1.4 NSSF Call-Mix
NsSelection
Table 3-3 NsSelection
Get Request Type | Traffic % | TPS |
---|---|---|
Initial Registration | 10% | 88 |
UE Config update | 5% | 44 |
PDU establishment | 80% | 700 |
EPS to 5G HO | 5% | 44 |
NsAvailability
NsAvailability traffic is purely transactional, and records only 2 TPS.
3.1.5 Test Observations
The NSSF performance test provides insights into the system's ability to handle various network activities. The test simulates a mix of traffic, focusing on establishing new user connections (10%), data transmission through PDU sessions (80%), and network management tasks such as UE configuration updates (5%) and handovers (5%).
This distribution reflects the typical workload on the NSSF in a real-world network. Additionally, the NsAvailability test assesses the system's responsiveness to updates originating from network functions. This traffic is capped at a lower rate (2 transactions per second).
3.1.5.1 General Observations
The following table provides observation data for the performance test that can be used for benchmark testing to increase the traffic rate.
Table 3-4 General Observations
Parameter | Values |
---|---|
Test Duration | 12 hours |
TPS Achieved | 10.5K |
3.1.5.2 Resource Utilization
NSSF Services Sidecar
The following table provides observed values of NSSF ASM sidecar:
Table 3-5 NSSF Services
NAME | Container Name | Pod Count | Total CPU | Total Memory (Mi) |
---|---|---|---|---|
ocnssf-alternate-route | alternate-route | 1 | 4m | 533 |
ocnssf-appinfo | appinfo | 1 | 25m | 260 |
ocnssf-egress-gateway | egress-gateway | 2 | 7m | 1497 |
ocnssf-ingress-gateway | ingress-gateway | 5 | 14057m | 13291 |
ocnssf-nsauditor | nsauditor | 1 | 2m | 423 |
ocnssf-nsavailability | nsavailability | 2 | 37m | 1485 |
ocnssf-nsconfig | nsconfig | 1 | 9m | 612 |
ocnssf-nsselection | nsselection | 9 | 12428m | 14318 |
ocnssf-nssubscription | nssubscription | 1 | 2m | 446 |
ocnssf-ocnssf-nrf-client-nfdiscovery | nrf-client-nfdiscovery | 2 | 6m | 973 |
ocnssf-ocnssf-nrf-client-nfmanagement | nrf-client-nfmanagement | 2 | 8m | 1031 |
ocnssf-ocpm-config | config-server | 1 | 4m | 401 |
ocnssf-performance | perf-info | 1 | 25m | 137 |
NSSF Services Sidecar
The following table provides observed values of NSSF ASM sidecar:
Table 3-6 NSSF Services Sidecar
NAME | Container Name | Pod Count | Total CPU | Total Memory (Mi) |
---|---|---|---|---|
ocnssf-alternate-route | istio-proxy | 1 | 8m | 175 |
ocnssf-appinfo | istio-proxy | 1 | 8m | 173 |
ocnssf-egress-gateway | istio-proxy | 2 | 12m | 350 |
ocnssf-ingress-gateway | istio-proxy | 5 | 6172m | 1010 |
ocnssf-nsauditor | istio-proxy | 1 | 6m | 170 |
ocnssf-nsavailability | istio-proxy | 2 | 28m | 358 |
ocnssf-nsconfig | istio-proxy | 1 | 12m | 199 |
ocnssf-nsselection | istio-proxy | 9 | 5205m | 1483 |
ocnssf-nssubscription | istio-proxy | 1 | 6m | 177 |
ocnssf-ocnssf-nrf-client-nfdiscovery | istio-proxy | 2 | 13m | 353 |
ocnssf-ocnssf-nrf-client-nfmanagement | istio-proxy | 2 | 15m | 356 |
ocnssf-ocpm-config | istio-proxy | 1 | 6m | 175 |
ocnssf-performance | istio-proxy | 1 | 11m | 175 |
cnDBTier Services
The following table provides observed values of cnDBTier services and sidecar:
Table 3-7 cnDBTier Services
NAME | Container Name | Pod Count | Total CPU | Total Memory (Mi) |
---|---|---|---|---|
mysql-cluster-db-backup-manager-svc | db-backup-manager-svc | 1 | 12m | 88 |
mysql-cluster-db-monitor-svc | db-monitor-svc | 1 | 92m | 823 |
mysql-cluster-site1-site2-replication-svc | db-infra-monitor-svc | 1 | 1m | 49 |
mysql-cluster-site1-site2-replication-svc | site1-site2-replication-svc | 1 | 7m | 280 |
mysql-cluster-site1-site3-replication-svc | site1-site3-replication-svc | 1 | 7m | 285 |
ndbappmysqld | db-infra-monitor-svc | 4 | 4m | 215 |
ndbappmysqld | mysqlndbcluster | 4 | 12634m | 4631 |
ndbmgmd | db-infra-monitor-svc | 2 | 2m | 108 |
ndbmgmd | mysqlndbcluster | 2 | 14m | 57 |
ndbmtd | db-backup-executor-svc | 4 | 4m | 226 |
ndbmtd | db-infra-monitor-svc | 4 | 6m | 219 |
ndbmtd | mysqlndbcluster | 4 | 7788m | 63081 |
ndbmysqld | db-infra-monitor-svc | 4 | 6m | 241 |
cnDBTier Sidecar
NAME | Container Name | Pod Count | Total CPU | Total Memory (Mi) |
---|---|---|---|---|
mysql-cluster-db-backup-manager-svc | istio-proxy | 1 | 5m | 125 |
mysql-cluster-db-monitor | istio-proxy | 1 | 5m | 136 |
mysql-cluster-site1-site2-replication | istio-proxy | 1 | 3m | 145 |
mysql-cluster-site1-site3-replication | istio-proxy | 1 | 4m | 153 |
ndbappmysqld | init-sidecar | 4 | 8m | 4 |
ndbappmysqld | istio-proxy | 4 | 3770m | 740 |
ndbmgmd | istio-proxy | 2 | 13m | 301 |
ndbmtd | istio-proxy | 4 | 6199m | 615 |
ndbmysqld | init-sidecar | 4 | 8m | 4 |
ndbmysqld | istio-proxy | 4 | 43m | 636 |
3.1.5.3 Latency Observations
The following table provides observed values in latency:
Table 3-8 Latency Parameters
Latency Parameter | Details (Avg) |
---|---|
NSSelection success percentage | 100 |
Ingress Gateway latency of NSSelection | 24.5ms |
NSAvailability Success percentage | 100 |
Ingress Gateway latency of NSAvailability latency | 43.5ms |
Ingress success rate | 100 |
Result | Pass |
Table 3-9 NsSelection Ingress Gateway Latency
Percentile | Min (ms) | Max (ms) | Avg (ms) | Current (ms) |
---|---|---|---|---|
50% | 6.11 ms | 6.32 ms | 6.11 ms | 6.11 ms |
90% | 11.1 ms | 11.9 ms | 11.4 ms | 11.5 ms |
95% | 12.3 ms | 14.0 ms | 13.0 ms | 13.2 ms |
99% | 18.7 ms | 49.8 ms | 28.9 ms | 30.7 ms |
Table 3-10 NsAvailability Ingress Gateway Latency
Percentile | Min (ms) | Max (ms) | Avg (ms) | Current (ms) |
---|---|---|---|---|
50% | 24.4 ms | 28.5 ms | 25.5 ms | 25.5 ms |
90% | 27.2 ms | 88.6 ms | 32.8 ms | 38.4 ms |
95% | 28.4 ms | 102 ms | 39.6 ms | 43.1 ms |
99% | 30.3 ms | 123 ms | 49.0 ms | 48.8 ms |