4 Benchmark Testing

This section describes the environment used for benchmarking Oracle Communications Cloud Native Core, Network Repository Function (NRF). Benchmarking is performed with the settings described in this section.

The default values or recommendations for any required software or resource are available from third-party vendors. The operators may choose different values.

4.1 Overview

To qualify the test run, the following elements are considered:

  • Pod restart
  • CPU and Memory utilization
  • Error rate
  • Ingress and egress traffic rate
  • Success rate
  • Message request and response processing time
  • Infrastructure resource requirements and utilization

4.2 NRF Features

Table 4-1 NRF Features

NRF Features Feature Status Notes
Subscriber Location Function ENABLED SLF is enabled for 4 NfTypes in slfLookupConfig.
SLF Selection from Registered NF Profiles ENABLED Dynamic SLF feature is enabled.
Access Token Caching during SLF Query ENABLED For more information about the accessTokenCacheEnabled under slfOptions, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
Overload Control Based on Percentage Discards ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
Preferred Locality Feature Set ENABLED Extended Preferred locality is configured with 3 locationTypes, 2 locationMappings, 2 preferredLocationDetails.
NRF Forwarding per NF Type/Service Type ENABLED for UDM Forwarding is enabled for discovery services. 1 host is present in nrfHostConfig and 1 rule is present in forwardingRulesConfig.
EmptyList in Discovery Response ENABLED EmptyList feature is enabled and discoveryValidityPeriodCfg under nfDiscoveryOptions is configured with 5 rules.
Access Token Request Authorization ENABLED AuthFeature is enabled with 8 rules in authRulesConfig under nfAccessTokenOptions.
Pod Protection Support for NRF Subscription Microservice ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
Subscription Limit ENABLED Set the subscription limit to 1000. For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
User-Agent Header for Outgoing Requests ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
NRF to Pick Port from ipEndpoints and FQDN from the NF Service or NF level when Selecting SLF ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
Ingress Gateway Pod Protection ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
ASM Sidecar ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
Maximum Number of Profiles in Discovery Response ENABLED Set the value as 10 for this parameter. For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
NRF Georedundancy ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
NRF Growth ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.

Note: This feature is enabled only for 38.17K TPS Call-Mix.

SLF Routing using SCP ENABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
Load Change Threshold for Notifications from NRF ENABLED This is nfNotifyLoadThreshold. This is set as 5%. For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
NF Screening Feature (Rules) DISABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.
NRF Roaming support (hNRF + vNRF) DISABLED For more information about the configuration, see Oracle Communications Cloud Native Core, Network Repository Function Rest Specification Guide.

Note:

Apart from these features being enabled, rest of the feature configurations have been set to their default values. For more information about the feature configurations, see Oracle Communications Cloud Native Core, Network Repository Function REST Specification Guide. For more information about the features, see Oracle Communications Cloud Native Core, Network Repository Function User Guide.

4.3 Software Test Constraints

Table 4-2 Software Test Constraints

Test Constraint Details
NRF Version 25.1.100
Ingress incoming connections For more information on this, see
Ingress outgoing connections
Egress incoming connections
Egress outgoing connections
Average HTTP Request Packet Size ~1000-3000 bytes (Based on NfRegister Request)
Average HTTP Response Packet Size ~5000-30000 bytes (Discovery Response with nfProfiles)
Average NF Heartbeats Timer per NF 30s
Average size of NF Profiles ~1000-3000 bytes

4.4 Service Operations

This section list the various service operations with the required query parameters.

NfDiscover Service Operation

The NfDiscover service operations are sent with the following query parameters:

  • Target-nf-type, guami, and requester-nssais
  • Target-nf-type, requester-nf-type, routing-indicator, and group-id-list
  • Target-nf-type, requester-nf-type, supi, and service-names
  • Target-nf-type, requester-nf-type, and service-names
  • Target-nf-type, requester-nf-type, and group-id-list
  • Target-nf-type and pgw
  • Target-nf-type, requester-nf-type, supi, and service-names
  • Target-nf-type, requester-nf-type, and service-names
  • Target-nf-type, dnn, snssai, TAI, and pgw-ind
  • Target-nf-type, SUPI, group-id-list, and service-names
  • Target-nf-type, dnn, snssai, preferred-locality, and service-names
  • Target-nf-type and guami
  • Target-nf-type, requester-nf-type, and preferred-locality
  • Target-nf-type, requester-nf-type, preferred-locality, and SUPI
  • Target-nf-type, requester-nf-type, SUPI, group-id-list, requester-nf-type, and data-set
  • Target-nf-type, requester-nf-type, routing-indicator, group-id-list, and service-names

4.5 CNE Common Services Resource Utilization

The following table describes CNE microservices and their utilization.

Table 4-3 CNE Common Services Resource Utilization

CNE Observability Services Pod Count Average CPU Average Memory
occne-prometheus-server-1 2 8.07% 64%
occne-elastic-elasticsearch-master-0 1 0.53% 65%
occne-elastic-elasticsearch-master-1 1 0.56% 68%
occne-elastic-elasticsearch-master-2 1 0.53% 65%
occne-elastic-elasticsearch-data-1 1 0.31% 53%
occne-elastic-elasticsearch-data-2 1 0.72% 93%
occne-prometheus-node-exporter 16 0.80% 8%

4.6 Observations for 38.17K TPS

This section provides the details of observations noticed for 38.17K TPS.

4.6.1 NRF Services Resource Requirements

This section provides the resource requirement for NRF deployment.

Table 4-4 NRF Services Resource Requirements

Service Name Pod Replica Min CPU/Pod Max CPU/Pod Min Memory/Pod (in G) Max Memory/Pod (in G) Min (Mi) Ephemeral Storage Max (Gi) Ephemeral Storage
Helm test 1 1 2 1 2 78.1 1
<helm-release-name>-nfregistration 2 2 2 3 3 78.1 1
<helm-release-name>-nfdiscovery 68 8 8 3 3 78.1 2
<helm-release-name>-nfsubscription 2 2 2 3 3 78.1 1
<helm-release-name>-nrfauditor 2 2 2 3 3 78.1 1
<helm-release-name>-nrfconfiguration 1 2 2 2 2 78.1 1
<helm-release-name>-nfaccesstoken 2 2 2 2 2 78.1 1
<helm-release-name>-nrfartisan 1 2 2 2 2 78.1 1
<helm-release-name>-nrfcachedata 2 4 4 3 3 78.1 1
<helm-release-name>-ingressgateway 34 4 4 4 4 78.1 1
<helm-release-name>-egressgateway 30 4 4 4 4 78.1 1
<helm-release-name>-alternate-route 2 2 2 4 4 78.1 1
<helm-release-name>-appinfo 2 1 1 1 1 78.1 1
<helm-release-name>-perfinfo 2 1 1 1 1 78.1 1

4.6.2 STATE Data Quantum at NRF before Performance Run Begins

Table 4-5 STATE Data Quantum at NRF before Performance Run Begins

Parameters Values Details
Number of NF Profiles in DB 130*

Following are the NfTypes:

  • AMF: 13
  • AUSF: 3
  • BSF: 2
  • CBCF: 3
  • CHF: 1
  • PCF: 4
  • SCP: 3
  • SLF:1
  • SMF: 40
  • UDM:3
  • UDR: 15
  • UPF: 39
Number of Subscriptions in DB 500

Subscriptions are created with the below conditions:

  • Subscription to a set of NF Instances identified by their NF Type. (NfTypeCond).
  • NotificationCondition with monitored attributes set to “/priority” or “/load”.
  • reqNotifEvents set to NF_REGISTERED,NF_DEREGISTERED, NF_PROFILE_CHANGE.

Note:

* indicates that Set1 hosts 130 NFs and Set 2 (simulator) hosts 130 NFs. When these two sets are combined together with NRF Growth feature enabled, we will have 260 NFs.

4.6.3 Call-Mix

The following table describes the various type of service requests with the required traffic distribution and targeted TPS.

Table 4-6 Call-Mix

S.No Type of Request Traffic Distribution (in %) Targeted TPS
A NF Register 0.00002 1
B NF Update 0.00282 1
C NF Heartbeat Not considered 26
D NF Subscribe + Update Subscription 0.01416 5
E NF Discover 98.45 33,900
F NRF Forwarded Discovery (Incoming) 10% of Incoming discovery traffic 3,760
G % of traffic forwarded to remote PLMN (case Visited NRF) 0% Not included in this test.
H % of traffic received from remote PLMN (case Home NRF) 0% Not included in this test.
I SLF Query 49% of Discovery 18,605
J NF Access Token for SLF Extra 0.1
K NF Profile Retrieval 0.00141 1
L NF List Retrieval 0.00141 1
M NF Status Notify 1.52328 480
N NF Status UnSubscribe 0.00006 1
O NF DeRegister 0.00002 1
P NF Access Token for Consumers 0.00141 1
Q NRF Forwarding (Outgoing) 10% of discovery traffic 3,760

Table 4-7 Total Traffic

Traffic Type Message Considered Targeted TPS
Total Incoming Traffic A + B + C + D + E + F + G + H + J + K + L + N + O + P 37,698
Total Outgoing Traffic I + M + Q 22,845
4.6.3.1 NF Count Per NF Types

The following table lists the NF count per NF type along with the NF profile size.

Table 4-8 NF Count Per NF Types

Target-NF Types NF Count Profile Size (with pretty printing) (in bytes)
AMF 58 8700-11300
AUSF 6 4640
BSF 3 1700
CHF 3 1800
GMLC 6 0630
LMF 6 2400
PCF 30 1500-2500
SMF 94 5700-7400
UDM 6 3200
UDR 36 1700-2000
SLF 3 2100
SMSF 3 11300
NEF 3 11300
CBCF 3 11300

Total NF Count is 260.

4.6.3.2 Discovery TPS per NfType and Number of Profiles in Response

The following table indicates the discovery TPS per NfType and the number of profiles sent in the response.

Table 4-9 Discovery TPS per NfType and Number of Profiles in Response

Target-Nf Types TPS (in %) Absolute Discovery TPS SLF Queries Posted Number of Profiles in Response
AUSF 0.39 209 209 6
BSF 0.00 0 0 3
CBCF 0.00 0 0 3
CHF 0.077 42.3 0 3
GMLC 0.00 0 0 6
LMF 0.025 14.5 0 6
PCF 0.39 211 0 10
SMF 8.09 4368 0 10
UDM 85.5 46209 46209 6
UDR 1.21 652 652 12
SLF 0 0 0 3
NEF 0.026 14.1 0 3
SMSF 0.025 13.5 0 3

4.6.4 Test Observations

The following table provides the details of test duration and TPS used for the benchmarking test.

Table 4-10 Test Observations

Parameter Values
Test Duration 60 hours
TPS Achieved 38.17K (considered all Ingress and NfStatusNotify traffic)
Ingress incoming connections 162
Ingress outgoing connections 1.440K
Egress incoming connections 162
Egress outgoing connections 900

4.6.5 NRF Resource Utilization

The following table describes the list of NRF microservices and their utilization.

Table 4-11 NRF Resource Utilization

NRF Microservices Number of Pods Average CPU Average Memory
nfregistration 2 6.19% 31.1%
nfdiscovery 44 56.2% 43.8%
nfsubscription 2 4.96% 27.4%
nrfauditor 2 0.43% 20.6%
nrfconfiguration 1 2.80% 44.7%
nfaccesstoken 2 1.40% 36.4%
nrfartisan 1 0.08% 24.6%
nrfcachedata 2 11.78% 32.2%
alternate-route 2 0.15% 9.52%
perf-info 2 12.7% 15.1%
appinfo 2 4.74% 26.10%
ingressgateway 18 54.9% 56.7%
egressgateway 18 32.0% 35.9%

Note:

The features enabled for this benchmarking testing does not utilize alternate-route service.

4.6.6 cnDBTier Services Resource Utilization

The following table provides observed values of cnDBTier services.

Table 4-12 cnDBTier Services Resource Utilization

Service Name Pod Count Average CPU Memory
SQL (ndbappmysqld) 2 13.8% 35.33%
DB (ndbmtd) 4 5.1% 88.84%
SQL (ndbmysqld) 2 0.2% 1.5%
MGMT (ndbmgmd) 2 0.2% 0.35%
Monitor Service (db-monitor-svc) 1 0.2% 10.1 %
Backup Manager Service (db-backup-manager-svc) 1 0.5% 8.9%

Table 4-13 cnDBTier Statistics

DBTier Statistics Value
Disk Write operations per second 98.4
Disk Read operations per second 439
Transaction rates on data nodes 230

4.6.7 Latency Observations

The following table lists the details of latency observations.

Table 4-14 Latency Observations

Latency Parameter Details
99th Percentile (ms) 95th Percentile (ms) 90th Percentile (ms) 50th Percentile (ms)
Average Turnaround time at Ingress Gateway, Discovery Processing, and SLF Egress Transaction 191 101 151 055
Average Turnaround time for Discovery Processing and SLF Egress Transaction 199 190 195 150
Average Turnaround time for SLF Egress Transaction (see Note) 195 172 165 159

Note:

Following simulators are used for performance measurement and their induced latency:
  • NF simulator to NRF: 50ms
  • NRF to forwarding simulator and forwarding simulator to NRF: 150ms
  • NRF to another remote set NRF: 150 ms
  • NRF to SLF: 150 ms

4.7 Observations for 46.5K TPS

This section provides the details of observations noticed for 46.5K TPS.

4.7.1 Observations for 51.6K TPS

This section provides the details of observations noticed for 51.6K TPS.

4.7.1.1 NRF Services Resource Requirements

This section provides the resource requirement for NRF deployment.

Table 4-15 NRF Services Resource Requirements

Service Name Pod Replica Min CPU/Pod Max CPU/Pod Min Memory/Pod (in G) Max Memory/Pod (in G) Min (Mi) Ephemeral Storage Max (Gi) Ephemeral Storage
Helm test 1 1 2 1 2 78.1 1
<helm-release-name>-nfregistration 2 2 2 3 3 78.1 1
<helm-release-name>-nfdiscovery 68 8 8 3 3 78.1 2
<helm-release-name>-nfsubscription 2 2 2 3 3 78.1 1
<helm-release-name>-nrfauditor 2 2 2 3 3 78.1 1
<helm-release-name>-nrfconfiguration 1 2 2 2 2 78.1 1
<helm-release-name>-nfaccesstoken 2 2 2 2 2 78.1 1
<helm-release-name>-nrfartisan 1 2 2 2 2 78.1 1
<helm-release-name>-nrfcachedata 2 4 4 3 3 78.1 1
<helm-release-name>-ingressgateway 34 4 4 4 4 78.1 1
<helm-release-name>-egressgateway 30 4 4 4 4 78.1 1
<helm-release-name>-alternate-route 2 2 2 4 4 78.1 1
<helm-release-name>-appinfo 2 1 1 1 1 78.1 1
<helm-release-name>-perfinfo 2 1 1 1 1 78.1 1
4.7.1.2 STATE Data Quantum at NRF before Performance Run Begins

Table 4-16 STATE Data Quantum at NRF before Performance Run Begins

Parameters Values Details
Number of NF Profiles in DB 250

Following are the NfTypes:

  • AMF: 80
  • AUSF: 9
  • BSF: 4
  • CBCF: 9
  • CHF: 3
  • DRA: 6
  • GMLC: 6
  • LMF: 6
  • NEF: 6
  • PCF: 10
  • SCP: 8
  • SMF: 80
  • SMSF: 6
  • UDM: 8
  • UDR: 21
Number of Subscriptions in DB 1000

Subscriptions are created with the below conditions:

  • Subscription to a set of NF Instances identified by their NF Type. (NfTypeCond).
  • NotificationCondition with monitored attributes set to “/priority” or “/load”.
  • reqNotifEvents set to NF_REGISTERED,NF_DEREGISTERED, NF_PROFILE_CHANGE.
4.7.1.3 Call-Mix

The following table describes the various type of service requests with the required traffic distribution and targeted TPS.

Table 4-17 Call-Mix

S.No Type of Request Traffic Distribution (in %) Targeted TPS
A NF Register 0.00002 1
B NF Update 0.00282 1
C NF Heartbeat Not considered 52
D NF Subscribe + Update Subscription 0.01416 7
E NF Discover 98.45 41,500
F NRF Forwarded Discovery (Incoming) 10% of Incoming discovery traffic 4,150
G % of traffic forwarded to remote PLMN (case Visited NRF) 0% Not included in this test.
H % of traffic received from remote PLMN (case Home NRF) 0% Not included in this test.
I SLF Query 49% of Discovery 22,400
J NF Access Token for SLF Extra 0.1
K NF Profile Retrieval 0.00141 1
L NF List Retrieval 0.00141 1
M NF Status Notify 1.52328 750
N NF Status UnSubscribe 0.00006 1
O NF DeRegister 0.00002 1
P NF Access Token for Consumers 0.00141 1
Q NRF Forwarding (Outgoing) 10% of discovery traffic 4,160

Table 4-18 Total Traffic

Traffic Type Message Considered Targeted TPS
Total Incoming Traffic A + B + C + D + E + F + G + H + J + K + L + N + O + P 45,726
Total Outgoing Traffic I + M + Q 27,310
4.7.1.3.1 NF Count Per NF Types

The following table lists the NF count per NF type along with the NF profile size.

Table 4-19 NF Count Per NF Types

Target-NF Types NF Count Profile Size (with pretty printing) (in bytes)
AMF 58 8700-11300
AUSF 6 4640
BSF 3 1700
CHF 3 1800
GMLC 6 0630
LMF 6 2400
PCF 30 1500-2500
SMF 94 5700-7400
UDM 6 3200
UDR 36 1700-2000
SLF 3 2100
SMSF 3 11300
NEF 3 11300
CBCF 3 11300

Total NF Count is 260.

4.7.1.3.2 Discovery TPS per NfType and Number of Profiles in Response

The following table indicates the discovery TPS per NfType and the number of profiles sent in the response.

Table 4-20 Discovery TPS per NfType and Number of Profiles in Response

Target-Nf Types TPS (in %) Absolute Discovery TPS SLF Queries Posted Number of Profiles in Response
AMF 4.27 2163 0 6
AUSF 0.38 210 210 6
BSF 0.00 0 0 3
CBCF 0.00 0 0 3
CHF 0.077 10 0 3
GMLC 0.00 0 0 6
LMF 0.025 2 0 6
PCF 0.39 192 0 10
SMF 8.14 4144 0 10
UDM 85.4 45735 45735 6
UDR 1.22 651 651 12
SLF 0 0 0 3
NEF 0.026 14.8 0 3
SMSF 0.025 13.9 0 3
4.7.1.4 Test Observations

This section following table provides the details of test duration and TPS used for the benchmarking test.

Table 4-21 Test Observations

Parameter Values
Test Duration 60 hours
TPS Achieved 46.5K (* considered all Ingress and NfStatusNotify traffic)
Ingress incoming connections 254
Ingress outgoing connections 1.536K
Egress incoming connections 176
Egress outgoing connections 880
4.7.1.5 NRF Resource Utilization

The following table describes NRF microservices and their utilization.

Table 4-22 NRF Resource Utilization

NRF Microservices Number of Pods Average CPU Average Memory
nfregistration 2 10.90% 36.4%
nfdiscovery 60 50.7% 43.1%
nfsubscription 2 1.54% 28.10%
nrfauditor 2 0.465% 23.5%
nrfconfiguration 1 2.12% 35.6%
nfaccesstoken 2 0.874% 37.2%
nrfartisan 1 0.102% 23.6%
nrfcachedata 2 6.83% 31.0%
alternate-route 2 0.15% 9.70%
perf-info 2 12.2% 14.9%
appinfo 2 4.59% 26.7%
ingressgateway 27 46.9% 50.6%
egressgateway 19 31.2% 41.6%

Note:

The features enabled for this benchmarking testing does not utilize alternate-route service.
4.7.1.6 cnDBTier Services Resource Utilization

The following table provides observed values of cnDBTier services.

Table 4-23 cnDBTier Services Resource Utilization

Service Name Pod Count Average CPU Memory
SQL (ndbappmysqld) 2 14.35% 33.87%
DB (ndbmtd) 4 4.02% 84.28%
SQL (ndbmysqld) 2 0.80% 6.85%
MGMT (ndbmgmd) 2 0.20% 0.28%
Monitor Service (db-monitor-svc) 1 0.17% 6.67%
Backup Manager Service (db-backup-manager-svc) 1 1% 53.07%
Replication Service 1 0.20% 2.13%

Table 4-24 cnDBTier Statistics

DBTier Statistics Value
Disk Write operations per second 39.98
Disk Read operations per second 135.13
Transaction rates on data nodes 101.5
4.7.1.7 Latency Observations

Table 4-25 Latency Observations

Latency Parameter Details
99th Percentile (ms) 95th Percentile (ms) 90th Percentile (ms) 50th Percentile (ms)
Average Turnaround time at Ingress Gateway, Discovery Processing, and SLF Egress Transaction 191 101 151 055
Average Turnaround time for Discovery Processing and SLF Egress Transaction 199 190 195 150
Average Turnaround time for SLF Egress Transaction (see Note) 195 172 165 159

Note:

Following simulators are used for performance measurement and their induced latency:
  • NF simulator to NRF: 50 ms
  • NRF to forwarding simulator and forwarding simulator to NRF: 150 ms
  • NRF to SLF: 150 ms

4.7.2 Observations for 5K TPS

This section provides the details of observations noticed for 5K TPS.

4.7.2.1 NRF Services Resource Requirements

This section provides the resource requirement for NRF deployment.

Table 4-26 NRF Services Resource Requirements

Service Name Pod Replica Min CPU/Pod Max CPU/Pod Min Memory/Pod (in Gi) Max Memory/Pod (in Gi) Min (Mi) Ephemeral Storage Max (Gi) Ephemeral Storage
Helm test 1 1 2 1 2 78.1 1
<helm-release-name>-nfregistration 2 2 2 3 3 78.1 1
<helm-release-name>-nfdiscovery 6 8 8 3 3 78.1 2
<helm-release-name>-nfsubscription 2 2 2 3 3 78.1 1
<helm-release-name>-nrfauditor 2 2 2 3 3 78.1 1
<helm-release-name>-nrfconfiguration 1 2 2 2 2 78.1 1
<helm-release-name>-nfaccesstoken 2 2 2 2 2 78.1 1
<helm-release-name>-nrfartisan 1 2 2 2 2 78.1 1
<helm-release-name>-nrfcachedata 2 4 4 3 3 78.1 1
<helm-release-name>-ingressgateway 3 4 4 4 4 78.1 1
<helm-release-name>-egressgateway 3 4 4 4 4 78.1 1
<helm-release-name>-alternate-route 2 2 2 4 4 78.1 1
<helm-release-name>-appinfo 2 1 1 1 1 78.1 1
<helm-release-name>-perfinfo 2 1 1 1 1 78.1 1
4.7.2.2 Call-Mix

The following table describes the various type of service requests with the required traffic distribution and targeted TPS.

Table 4-27 Call-Mix

S.No Type of Request Traffic Distribution (in %) Targeted TPS
A NF Register 0.00002 1
B NF Update 0.00282 1
C NF Heartbeat Not considered 52
D NF Subscribe + Update Subscription 0.01416 7
E NF Discover 98.8 5000
F NRF Forwarded Discovery (Incoming) 10% of Incoming discovery traffic 0
G % of traffic forwarded to remote PLMN (case Visited NRF) 0% Not included in this test.
H % of traffic received from remote PLMN (case Home NRF) 0% Not included in this test.
I SLF Query 88.4% of Discovery 4420
J NF Access Token for SLF Extra 0.1
K NF Profile Retrieval 0.00141 1
L NF List Retrieval 0.00141 1
M NF Status Notify 1.52328 500
N NF Status UnSubscribe 0.00006 1
O NF DeRegister 0.00002 1
P NF Access Token for Consumers 0.00141 1
Q NRF Forwarding (Outgoing) 10% of discovery traffic 500

Table 4-28 Total Traffic

Traffic Type Message Considered Targeted TPS
Total Incoming Traffic A + B + C + D + E + F + G + H + J + K + L + N + O + P 5066
Total Outgoing Traffic I + M + Q 5420
4.7.2.2.1 NF Count Per NF Types

The following table lists the NF count per NF type along with the NF profile size.

Table 4-29 NF Count Per NF Types

Target-NF Types NF Count Profile Size (with pretty printing) (in bytes)
AMF 58 8700-11300
AUSF 6 4640
BSF 3 1700
CHF 3 1800
GMLC 6 0630
LMF 6 2400
PCF 30 1500-2500
SMF 94 5700-7400
UDM 6 3200
UDR 36 1700-2000
SLF 3 2100
SMSF 3 11300
NEF 3 11300
CBCF 3 11300

Total NF Count is 260.

4.7.2.2.2 Discovery TPS per NfType and Number of Profiles in Response

The following table indicates the discovery TPS per NfType and the number of profiles sent in the response.

Table 4-30 Discovery TPS per NfType and Number of Profiles in Response

Target-Nf Types TPS (in %) Absolute Discovery TPS SLF Queries Posted Number of Profiles in Response
AMF 4.27 2163 0 6
AUSF 0.38 210 210 6
BSF 0.00 0 0 3
CBCF 0.00 0 0 3
CHF 0.077 10 0 3
GMLC 0.00 0 0 6
LMF 0.025 2 0 6
PCF 0.39 192 0 10
SMF 8.14 4144 0 10
UDM 85.4 45735 45735 6
UDR 1.22 651 651 12
SLF 0 0 0 3
NEF 0.026 14.8 0 3
SMSF 0.025 13.9 0 3
4.7.2.3 Test Observations

This section following table provides the details of test duration and TPS used for the benchmarking test.

Table 4-31 Test Observations

Parameter Values
Test Duration 72 hours
TPS Achieved 5195 (* considered all Ingress and NfStatusNotify traffic)
Ingress incoming connections 24
Ingress outgoing connections 240
Egress incoming connections 22
Egress outgoing connections 120
4.7.2.4 NRF Resource Utilization

The following table describes NRF microservices and their utilization.

Table 4-32 NRF Resource Utilization

NRF Microservices Number of Pods Average CPU Average Memory
nfregistration 2 12.1% 37.1%
nfdiscovery 6 52.2% 50.8%
nfsubscription 2 4.47% 24.4%
nrfauditor 2 0.81% 24.4%
nrfconfiguration 1 0.96% 45.7%
nfaccesstoken 2 0.71% 33.8%
nrfartisan 1 0.10% 24.4%
nrfcachedata 2 7.80% 31.2%
alternate-route 2 0.10% 8.29%
perf-info 2 11.8% 14.1%
appinfo 2 3.21% 25.6%
ingressgateway 3 49.4% 66.5%
egressgateway 3 48.6% 40.9%

Note:

If you enable Message Feed feature at Ingress Gateway and Egress Gateway, approximately 33% pod capacity is impacted. The features enabled for this benchmarking testing does not utilize alternate-route service.
4.7.2.5 cnDBTier Services Resource Utilization

The following table provides the observed values of cnDBTier services.

Table 4-33 cnDBTier Services Resource Utilization

Service Name Pod Count Average CPU Memory
SQL (ndbappmysqld) 2 11.05% 30.40%
DB (ndbmtd) 4 3.33% 84.24%
SQL (ndbmysqld) 2 0.73% 6.89%
MGMT (ndbmgmd) 2 0.25% 0.29%
Monitor Service (db-monitor-svc) 1 0.15% 7%
Backup Manager Service (db-backup-manager-svc) 1 1% 50.85%
Replication Service 1 0.20% 2.11%

Table 4-34 cnDBTier Statistics

DBTier Statistics Value
Disk Write operations per second 45.4
Disk Read operations per second 166
Transaction rates on data nodes 102
4.7.2.6 Latency Observations

Table 4-35 Latency Observations

Latency Parameters 99th Percentile (ms) 95th Percentile (ms) 90th Percentile (ms) 50th Percentile (ms)
Average Turnaround time at Ingress Gateway, Discovery Processing, and SLF Egress Transaction 230 189 195 143
Average Turnaround time for Discovery Processing and SLF Egress Transaction 229 191 196 150
Average Turnaround time for SLF Egress Transaction (see Note) 222 196 191 150

Note:

Following simulators are used for performance measurement and their induced latency:
  • NF simulator to NRF: 50 ms
  • NRF to forwarding simulator and forwarding simulator to NRF: 150 ms
  • NRF to SLF: 150 ms