3 Benchmarking Policy Call Models

This section describes different Policy call models and the performance test scenarios which were run using these call model.

3.1 CnPCRF Call Models

The following diagram describes the architecture for a multisite CnPCRF deployment.

Figure 3-1 CnPCRF 4 Site GR Deployment Architecture


CnPCRF 4 Site GR Setup

To test this CnPCRF call model, the Policy application is deployed in converged mode on a four-site georedundant setup. The cnDBTier database and CnPCRF application are replicated on all the four-site. The database replication is used to perform data synchronization between databases over the replication channels.

Note:

This diagram is only for representation purpose.

3.1.1 Test Scenario: CnPCRF Data Call Model on Four-Site GeoRedundant setup, with 30K TPS per NFSet (with 7.5K TPS on each instance)

This test run benchmarks the performance and capacity of CnPCRF data call model that is deployed in converged mode on a four-site georedundant setup. Each site in the setup handles an incoming traffic of 7.5K TPS.

3.1.1.1 Test Case and Setup Details

Test Case Parameters

Table 3-1 Test Case Parameters

Parameters Values
Call Rate 30K TPS (7.5K TPS on each site)
Execution Time 12 Hours
ASM Disable

Table 3-2 Call Model Data

Messages Total CPS Instance-1 sy Traffic Ldap Traffic Total TPS
CCR-I 320 320 320 960
CCR-U 320 0 0 320
CCR-T 320 320 0 640
Total Messages 960 640 320 1920

Table 3-3 CnPCRF Configurations

Service Name Status
Binding Service Disable
Policy Event Record (PER) Disable
Subscriber Activity Log (SAL) Enable
LDAP Enable
Online Charging System (OCS) Enable

Table 3-4 PCF Interfaces

Feature Name Status
N36 UDR query (N7/N15-Nudr) Disable
N36 UDR subscription (N7/N15-Nudr) Disable
UDR on-demand nrf discovery Disable
CHF (SM-Nchf) Disable
BSF (N7-Nbsf) Disable
AMF on demand nrf discovery Disable
LDAP (Gx-LDAP) Enable
Sy (PCF N7-Sy) Enable

Table 3-5 PCRF Interfaces

Feature Name Status
Sy (PCRF Gx-Sy) Enable
Sd (Gx-Sd) Disable
Gx UDR query (Gx-Nudr) Disable
Gx UDR subscription (Gx-Nudr Disable
CHF enabled (AM) Disable
Usage Monitoring (Gx) Disable
Subscriber HTTP Notifier (Gx) Disable

Table 3-6 Configuring cnDBTier Helm Parameters

Helm Parameter New Value
ndb_batch_size 2G
TimeBetweenEpochs 100
NoOfFragmentLogFiles 50
FragmentLogFileSize 256M
RedoBuffer 1024M
ndbappmysqld Pods Memory 19/20 Gi
ndbmtd pods CPU 8/8
ndb_report_thresh_binlog_epoch_slip 50
ndb_eventbuffer_max_alloc 19G
ndb_log_update_minimal 1
ndbmysqld Pods Memory 25/25 Gi
replicationskiperrors enable: true
replica_skip_errors '1007,1008,1050,1051,1022'
numOfEmptyApiSlots 4

Infrastructure Details

Table 3-7 Software Details

Applications Versions
Policy 24.1.0
cnDBTier 24.1.0
ASM Disabled
CNE 23.3.3
CNC Console 24.1.0

Table 3-8 Observability Services

Service Names Versions
OpenSearch 2.3.0
Fluentd 1.16.2
Prometheus 2.51.1
Grafana 9.5.3
Jaeger 1.52.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Table 3-9 Hardware Details

Hardware Details
Environment Hypervisor
Server ORACLE SERVER X8-2
Model Intel(R) Xeon(R) Platinum 8260 CPU
Clock Speed 2.400 GHz
Total Cores 96
Memory Size 576 GB
Type DDR4 SDRAM
Installed DIMMs 18
Maximum DIMMs 24
Installed Memory 576 GB

Resource Allocation

The following table describes the resource capacity allocated to the Policy microservices:

Table 3-10 Resource Allocation for Policy Microservices

Service Name CPU Request Per Pod CPU Limit Per Pod Memory Request Per Pod (Gi) Memory Limit Per Pod (Gi) ReplicaMin Replica = Max Replica
ocpcf-appinfo 1 1 0.5 1 1
ocpcf-oc-binding 5 6 1 8 15
ocpcf-oc-diam-connector 3 4 1 2 8
ocpcf-oc-diam-gateway 3 4 1 2 7
ocpcf-occnp-config-server 2 4 0.5 2 1
ocpcf-occnp-egress-gateway 3 4 4 6 2
ocpcf-ocpm-ldap-gateway 3 4 1 2 10
ocpcf-occnp-ingress-gateway 3 4 4 6 2
ocpcf-occnp-nrf-client-nfdiscovery 3 4 0.5 2 2
ocpcf-occnp-nrf-client-nfmanagement 1 1 1 1 2
ocpcf-ocpm-audit-service 1 2 1 1 1
ocpcf-ocpm-cm-service 2 4 0.5 2 1
ocpcf-ocpm-policyds 5 6 1 4 25
ocpcf-ocpm-pre 5 5 0.5 4 25
ocpcf-ocpm-queryservice 1 2 1 1 1
ocpcf-pcf-smservice 7 8 1 4 2
ocpcf-pcrf-core 7 8 8 8 30
ocpcf-performance 1 1 0.5 1 2

Table 3-11 Resource Allocation for cnDBTier Services

Service Name CPU Request Per Pod CPU Limit Per Pod Memory Request Per Pod (Gi) Memory Limit Per Pod (Gi) ReplicaMin Replica = Max Replica
ndbappmysqld 8 8 19 20 5
ndbmgmd 2 2 9 11 2
ndbmtd 8 8 73 83 8
ndbmysqld 4 4 19 20 12
3.1.1.2 Results

CPU and Memory Utilization

This section lists the CPU utilization by Policy and cnDBTier microservices. The CPU utilization is the ratio between the (total CPU utilization against total CPU request (X)) versus (target CPU Utilization (Y) configured for the Pod).

Table 3-12 CPU/Memory Utilization by Policy Microservices

Service CPU (X/Y) - Site 1 CPU (X/Y)- Site 2 CPU(X/Y) - Site 3 CPU(X/Y) - Site 4
ocpcf-alternate-route 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-appinfo 1%/80% 2%/80% 2%/80% 3%/80%
ocpcf-occnp-config-server 10%/80% 11%/80% 12%/80% 12%/80%
ocpcf-oc-diam-connector 10%/40% 11%/40% 10%/40% 10%/40%
ocpcf-occnp-egress-gateway 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-occnp-ingress-gateway 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-ocpm-ldap-gateway 4%/60% 4%/60% 5%/60% 4%/60%
ocpcf-occnp-nrf-client-nfdiscovery 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-occnp-nrf-client-nfmanagement 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-oc-binding 0%/60% 0%/60% 0%/60% 0%/60%
ocpcf-occnp-chf-connector 0%/50% 0%/50% 0%/50% 0%/50%
ocpcf-occnp-udr-connector 0%/50% 0%/50% 0%/50% 0%/50%
ocpcf-ocpm-audit-service 0%/60% 0%/60% 0%/60% 0%/60%
ocpcf-ocpm-policyds 11%/60% 11%/60% 11%/60% 11%/60%
ocpcf-ocpm-soapconnector 0%/60% 0%/60% 0%/60% 0%/60%
ocpcf-ocpm-pre 13%/80% 13%/80% 13%/80% 13%/80%
ocpcf-pcf-smservice 0%/50% 0%/50% 0%/50% 0%/50%
ocpcf-pcrf-core 7%/40% 7%/40% 7%/40% 7%/40%
ocpcf-ocpm-queryservice 0%/80% 0%/80% 0%/80% 0%/80%

Table 3-13 CPU and Memory Utilization by cnDBTier Services

Name CPU (X/Y) - Site 1 CPU (X/Y) - Site 2 CPU (X/Y) - Site 3 CPU (X/Y) - Site 4
ndbappmysqld 35%/80% 36%/80% 35%/80% 35%/80%
ndbmgmd 1%/80% 1%/80% 0%/80% 0%/80%
ndbmtd 15%/80% 15%/80% 18%/80% 17%/80%
ndbmysqld 5%/80% 5%/80% 5%/80% 5%/80%

Latency

Table 3-14 Average CnPCRF Core JDBC Latency Observations (in ms)

Site 1 Site 2 Site 3 Site 4
2.30 ms 2.20 2.66 2.85

3.1.2 Test Scenario: CnPCRF Voice Call Model on Four-Site Georedundant Setup, with 30K TPS per NFSet (with 7.5K TPS on each instance)

This test run benchmarks the performance and capacity of CnPCRF voice call model that is deployed in converged mode on a four-site georedundant setup. Each of the sites handles a traffic of 7.5K TPS at Diameter Gateway. For this setup, Policy Event Record (PER) and Binding feature were enabled. This setup has single-channel replication.

3.1.2.1 Test Case and Setup Details

Test Case Parameters

Table 3-15 Test Case Parameters

Parameters Values
Call Rate (Diameter Gateway) 30K TPS (7.5KTPS on four site)
ASM Disable
Traffic Ratio CCRI-I, AARI –1, CCRU-2, AARU - 1, RAR-Gx-1, RAR-Rx-1, STR –1, CCRT-1.
Active Subscribers 10000000

Project Details

The Policy Design editor based on the Blockly interface was used to set the Policy project for each of the Policy services. The complexity level of Policy Project configured for this run was High.

Complexity Level Definition:

  • Low – No usage of loops in Blockly logic, no JSON operations, and no complex Java Script code in object expression/statement expression.
  • Medium – Usage of loops in Blockly logic, Policy table wildcard match <= 3 fields, MatchList < 3, and 3 < RegEx match < 6
  • High – JSON Operations – Custom, complex Java script code in object Expression/statement expression, Policy table wildcard match > 3 fields, MatchLists >= 3, and RegEx mat >= 6

CnPCRF Configurations

The following CnPCRF services/features/databases were either enabled or disabled to run this call flow:

Table 3-16 CnPCRF Configurations

Service Name Status
Binding Enabled
PRE Enabled
SAL Enabled
LDAP Disabled
OCS Disabled
Audit Enabled
Replication Enabled
Bulwark Disabled
Alternate routing Disabled

Table 3-17 Policy Interfaces

Feature Name Status
AMF on demand nrf discovery NA
BSF (N7-Nbsf) NA
CHF (SM-Nchf) NA
LDAP (Gx-LDAP) NA
N36 UDR query (N7/N15-Nudr) NA
N36 UDR subscription (N7/N15-Nudr) NA
Sy (PCF N7-Sy) NA
UDR on-demand nrf discovery NA

Table 3-18 PCRF Interfaces

Feature Name Status
Sy (PCRF Gx-Sy) NA
Sd (Gx-Sd) NA
Gx UDR query (Gx-Nudr) NA
Gx UDR subscription (Gx-Nudr) NA
CHF enabled (AM) NA
Usage Monitoring (Gx) NA
Subscriber HTTP Notifier (Gx) NA

Infrastructure Details

Table 3-19 Software Details

Applications Versions
Policy 24.1.0
cnDBTier 24.1.0
ASM Disabled
CNE 23.3.3
CNC Console 24.1.0

Table 3-20 Observability Services

Services Versions
OpenSearch 2.3.0
Fluentd 1.16.2
Prometheus 2.51.1
Grafana 9.5.3
Jaeger 1.52.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Table 3-21 Hardware Details

Hardware Details
Environment Hypervisor
Server ORACLE SERVER X8-2
Model Intel(R) Xeon(R) Platinum 8260 CPU
Clock Speed 2.400 GHz
Total Cores 96
Memory Size 576 GB
Type DDR4 SDRAM
Installed DIMMs 18
Maximum DIMMs 24
Installed Memory 576 GB

Resource Allocation

The following table describes the resource capacity allocated to the Policy microservices:

Table 3-22 Resource Allocation for Policy Microservices

Service Name CPU Request Per Pod CPU Limit Per Pod Memory Request Per Pod (Gi) Memory Limit Per Pod (Gi) Replicas
Appinfo 1 2 1 2 1
Audit Service 1 2 1 1 1
CM Service 2 4 0.5 2 1
Config Service 2 4 0.5 2 1
Egress Gateway 5 5 6 6 2
Ingress Gateway 3 4 4 6 2
Nrf Client Management 1 1 1 1 2
Diameter Gateway 3 4 1 2 9
Diameter Connector 3 4 1 2 5
Nrf Client Discovery 3 4 0.5 2 2
Query Service 1 2 1 1 1
PCRF Core Service 7 8 8 8 24
Performance 1 1 0.5 1 2
PRE Service 4 4 0.5 4 15
SM Service 7 7 10 10 2
PDS 7 7 8 8 5
Binding Service 5 6 1 8 18

Table 3-23 Resource Allocation for cnDBTier Services

Service Name CPU Request Per Pod CPU Limit Per Pod Memory Request Per Pod (Gi) Memory Limit Per Pod (Gi) ReplicasMin Replica = Max Replica
ndbappmysqld 8 8 19 20 5
ndbmgmd 2 2 9 11 2
ndbmtd 8 8 73 83 8
ndbmysqld 4 4 25 25 6
3.1.2.2 Results

CPU and Memory Utilization

This section lists the CPU and memory utilization by Policy and cnDBTier microservices. The CPU utilization is the ratio between the (total CPU utilization against total CPU request (X)) versus (target CPU Utilization (Y) configured for the pod).

Table 3-24 CPU/Memory Utilization by Policy Microservices

Service Name Site 1 CPU (X/Y) Site 2 CPU (X/Y) Site 3 CPU (X/Y) Site 4 CPU (X/Y)
ocpcf-appinfo-hpa-v2 3%/80% 3%/80% 3%/80% 3%/80%
ocpcf-config-server-hpa-v2 8%/80% 9%/80% 7%/80% 7%/80%
ocpcf-diam-connector-hpa 0%/40% 0%/40% 0%/40% 0%/40%
ocpcf-egress-gateway-v2 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-ingress-gateway-v2 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-nrf-client-nfdiscovery-v2 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-nrf-client-nfmanagement-v2 0%/80% 0%/80% 0%/80% 0%/80%
ocpcf-oc-binding-hpa 6%/60% 6%/60% 6%/60% 6%/60%
ocpcf-ocpm-audit-service-hpa-v2 4%/60% 1%/60% 1%/60% 1%/60%
ocpcf-ocpm-policyds-hpa 0%/60% 0%/60% 0%/60% 0%/60%
ocpcf-pcf-pre-hpa 17%/80% 18%/80% 17%/80% 17%/80%
ocpcf-pcrf-core-hpa 12%/40% 12%/40% 12%/40% 12%/40%
ocpcf-query-service-hpa 0%/80% 0%/80% 0%/80% 0%/80%

Table 3-25 CPU and Memory Utilization by CnDBTier Services

Service Name Site1 - CPU (X/Y) Site2 - CPU (X/Y) Site3 - CPU (X/Y) Site4 - CPU (X/Y)
ndbappmysqld 88%/80% 87%/80% 89%/80% 88%/80%
ndbmgmd 0%/80% 0%/80% 0%/80% 0%/80%
ndbmtd 16%/80% 17%/80% 17%/80% 18%/80%
ndbmysqld 8%/80% 9%/80% 10%/80% 8%/80%

Latency

Table 3-26 Average CnPCRF Core JDBC Latency Observations (in ms)

Site 1 Site 2 Site 3 Site 4
2.19 ms 2.32 2.66 2.56

3.1.3 Test Scenario: CnPCRF Data Call Model on Two-Site GeoRedundant setup, with 30K TPS per NFSet (with 15K TPS on each instance)

This test run benchmarks the performance and capacity of PCRF data call model that is deployed in converged mode on a two-site georedundant setup. Each site in the setup handles an incoming traffic of 15K TPS.

3.1.3.1 Test Case and Setup Details

Test Case Parameters

The following table describes the test case parameters and their values:

Table 3-27 Test case Parameters

Parameter Value
Call Rate (Ingress + Egress) 15K TPS on each site
ASM Disabled
Execution Time 134 hours

Table 3-28 Call Model Data

Messages Total TPS
CCR-I 3.02K
CCR-U 1.62K
CCR-T 3.02K
SNR 0.60K
RAR 0.60K
Sy 3.24K
LDAP 3.02K
Total TPS 15.12K

Table 3-29 CnPCRF Configurations

Service Name Status
Overload Control Enabled (pcrf-core)
Congestion Control Enabled (diam-gw)
Subscriber Activity Log (SAL) Disabled
LDAP Enabled
Online Charging System (OCS) Enabled
Audit Enabled
Replication Enabled
Binding Enabled
PER Disabled
PDS Single UEID Enabled (gpsi)

Table 3-30 CnPCRF Interfaces

Feature Name Status
UDR on-demand nrf discovery Disable
Sy (PCF N7-Sy) Enable
N36 UDR subscription (N7/N15-Nudr) Disable
N36 UDR query (N7/N15-Nudr) Disable
LDAP (Gx-LDAP) Enable
CHF (SM-Nchf) Disable
BSF (N7-Nbsf) Disable
AMF on demand nrf discovery Disable

Infrastructure Details

Table 3-31 Software Details

Applications Versions
Policy 25.2.201
cnDBTier 25.2.200
ASM Disabled
OSO NA
CNE 25.1.100
CNC Console 25.2.200

Table 3-32 Observability Services

Service Names Versions
OpenSearch 2.11.0
Fluentd 1.17.1
Prometheus 2.52.0
Grafana 9.5.3
Jaeger 1.60.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Table 3-33 Hardware Details

Hardware Details
Environment Hypervisor
Server ORACLE SERVER X8-2
Model Intel(R) Xeon(R) Platinum 8260 CPU
Clock Speed 2.400 GHz
Total Cores 96
Memory Size 576 GB
Type DDR4 SDRAM
Installed DIMMs 18
Maximum DIMMs 24
Installed Memory 576 GB

Resource Allocation

The following table describes the resource capacity allocated to the Policy microservices:

Table 3-34 Resource Allocation for Policy Microservices

Microservices CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container Replicas
Appinfo 1 1 1Gi 1Gi 1Gi 80Mi 1
Binding Service 6 5 8Gi 1Gi 1Gi 80Mi 15
Diameter Connector 4 3 2Gi 1Gi 1Gi 80Mi 8
Configuration Service 4 2 2Gi 1Gi 1Gi 80Mi 2
Egress Gateway 4 3 6Gi 4Gi 1Gi 80Mi 1
Ingress Gateway 4 3 6Gi 4Gi 1Gi 80Mi 1
NRF Client NF Discovery 4 3 2Gi 0.5Gi 1Gi 80Mi 1
NRF Client NF Management 1 1 1Gi 1Gi 1Gi 80Mi 1
Audit Service 2 1 1Gi 1Gi 1Gi 80Mi 1
CM Service 4 2 2Gi 1Gi 1Gi 80Mi 2
LDAP Gateway 4 3 2Gi 1Gi 1Gi 80Mi 10
PDS 6 5 4Gi 2Gi 1Gi 80Mi 25
PRE 5 5 4Gi 2Gi 1Gi 80Mi 25
Query Service 2 1 1Gi 1Gi 1Gi 80Mi 1
pcrf-core/pcrf-core 8 7 8Gi 8Gi 1Gi 80Mi 30
Perfinfo 1 1 1Gi 1Gi 1Gi 80Mi 2
Diameter Gateway 4 3 2Gi 2Gi 1Gi 80Mi 7

Table 3-35 Resource Allocation for cnDBTier Services

Microservices CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container Replicas
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 1 1Gi 1Gi 1Gi 90Mi 1
mysql-cluster-db-monitor-svc/db-monitor-svc 2 2 2Gi 2Gi 1Gi 90Mi 1
mysql-cluster-one-two-c1-replication-svc/one-two-c1-replication-svc 2 2 12Gi 12Gi 1Gi 90Mi 1
mysql-cluster-two-one-c1-replication-svc/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 1
mysql-cluster-one-two-c2-replication-svc/one-two-c2-replication-svc 1100m 1100m 2Gi 1Gi 1Gi 90Mi 1
ndbappmysqld/mysqlndbcluster 8 8 20Gi 19Gi 1Gi 90Mi 5
ndbappmysqld/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 5
ndbappmysqld/init-sidecar 100m 100m 0.25Gi 0.25Gi 1Gi 90Mi 5
ndbmgmd/mysqlndbcluster 2 2 11.25Gi 9Gi 1Gi 90Mi 2
ndbmgmd/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 2
ndbmtd/mysqlndbcluster 8 8 73Gi 73Gi 1Gi 90Mi 8
ndbmtd/db-backup-executor-svc 2 2 2Gi 2Gi 1Gi 90Mi 8
ndbmtd/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 8
ndbmysqld/mysqlndbcluster 4 4 25Gi 25Gi 1Gi 90Mi 4
ndbmysqld/init-sidecar 100m 100m 0.25Gi 0.25Gi 1Gi 90Mi 4
ndbmysqld/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 4
3.1.3.2 Results

CPU and Memory Utilization

This section lists the CPU and memory utilization by Policy and cnDBTier microservices. The CPU utilization is the ratio between the (total CPU utilization against total CPU request (X)) versus (target CPU Utilization (Y) configured for the pod).

Table 3-36 CPU and Memory Utilization by Policy Microservices

Microservices Site-1 CPU Site-1 Memory Site-2 CPU Site-2 Memory
Appinfo 3.90% 27.54% 4.90% 28.03%
Binding Service 11.29% 20.22% 11.64% 15.41%
Diameter Connector 16.04% 35.03% 15.56% 34.27%
Configuration Service 5.97% 37.52% 5.74% 60.40%
Egress Gateway 0.10% 12.04% 0.10% 12.99%
Ingress Gateway 1.82% 16.99% 1.07% 18.08%
NRF Client NF Discovery 0.12% 27.93% 0.15% 28.52%
NRF Client NF Management 0.40% 42.58% 0.40% 41.80%
Audit Service 4.05% 75.00% 2.25% 69.92%
CM Service 0.27% 54.86% 0.30% 57.37%
LDAP Gateway 7.17% 34.62% 6.97% 34.64%
PDS 16.95% 61.22% 17.82% 59.87%
PRE 18.64% 57.42% 17.95% 57.28%
Query Service 0.10% 19.97% 0.15% 20.46%
ocpcf-pcrf-core/pcrf-core 15.89% 35.41% 15.52% 37.76%
Perfinfo 30.20% 14.40% 17.45% 14.50%
Diameter Gateway 20.75% 63.37% 19.62% 58.57%

Table 3-37 CPU and Memory Utilization by CnDBTier Services

Microservices Site-1 CPU Site-1 Memory Site-2 CPU Site-2 Memory
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 0.45% 8.69% 0.09% 8.30%
mysql-cluster-db-monitor-svc/db-monitor-svc 1.00% 33.64% 0.30% 29.05%
mysql-cluster-one-two-c1-replication-svc/one-two-c1-replication-svc 0.60% 2.47% - -
mysql-cluster-one-two-c1-replication-svc/db-infra-monitor-svc 0.50% 20.70% - -
mysql-cluster-one-two-c2-replication-svc/one-two-c2-replication-svc 0.91% 13.33% - -
mysql-cluster-two-one-c1-replication-svc/two-one-c1-replication-svc - - 0.55% 2.60%
mysql-cluster-two-one-c1-replication-svc/db-infra-monitor-svc - - 1.00% 19.92%
mysql-cluster-two-one-c2-replication-svc/two-one-c2-replication-svc - - 1.09% 13.48%
ndbappmysqld/mysqlndbcluster 70.96% 29.98% 69.34% 29.82%
ndbappmysqld/db-infra-monitor-svc 1.00% 21.72% 1.20% 21.72%
ndbappmysqld/init-sidecar 3.60% 0.39% 3.20% 0.39%
ndbmgmd/mysqlndbcluster 0.57% 18.06% 0.62% 18.00%
ndbmgmd/db-infra-monitor-svc 1.00% 20.12% 0.75% 20.51%
ndbmtd/mysqlndbcluster 27.91% 82.66% 22.94% 82.62%
ndbmtd/db-backup-executor-svc 0.05% 2.76% 0.05% 2.75%
ndbmtd/db-infra-monitor-svc 7.25% 20.90% 7.19% 20.90%
ndbmysqld/mysqlndbcluster 8.12% 21.86% 8.38% 22.13%
ndbmysqld/init-sidecar 3.25% 0.59% 3.00% 0.59%
ndbmysqld/db-infra-monitor-svc 2.00% 24.02% 1.37% 24.61%

Latency

NF Service Latency (in milliseconds)Note: Additional 100ms latency introduced between DIAM-GW and external interfaces Site1 Site2
PCRF_Policyds 99.873 129.388
PCRF_Binding 38.744 53.576
PCRF_Diam_connector 103.423 106.496
PCRF_Core_JDBC_Latency 9.124 15.534

Table 3-38 Average CnPCRF Core JDBC Latency Observations (in ms)

Methods 50th Percentile (Site1) 99th Percentile (Site1) 50th Percentile (Site2) 99th Percentile (Site2)
DIAM 38.6 100.00 39.7 100.0

3.1.4 Test Scenario: CnPCRF Voice Call Model on Two-Site GeoRedundant setup, with 30K TPS per NFSet (with 15K TPS on each instance)

This test run benchmarks the performance and capacity of CnPCRF voice call model that is deployed in converged mode on two-site georedundant setup. Each site in the setup handles an incoming traffic of 15K TPS.

3.1.4.1 Test Case and Setup Details

Test Case Parameters

The following table describes the testcase parameters and their values:

Table 3-39 Testcase Parameters

Parameter Value
Call Rate (Ingress + Egress) (15k TPS each sites) in two-site georedundant setup
ASM Disabled
Execution Time 72 hours

Table 3-40 Call Model Data

Messages TPS
CCR-I 630
CCR-U 1260
CCR-T 630
Rx-RAR 1260
Gx-RAR 1890
AAR-I 630
AAR-U 630
STR 630

The following CnPCRF services/features/databases were either enabled or disabled to run this call flow:

Table 3-41 CnPCRF Configurations

Service Name Status
Overload Control Enabled
Congestion Control Enabled
Subscriber Activity Log (SAL) Disabled
LDAP Disabled
Online Charging System (OCS) Disabled
Audit Disabled
Replication Enabled
Binding Enabled
PER Enabled
PDS Single UEID Disabled

Table 3-42 PCF Interfaces

Feature Name Status
N36 UDR query (N7/N15-Nudr) Disable
N36 UDR subscription (N7/N15-Nudr) Disable
UDR on-demand nrf discovery Disable
CHF (SM-Nchf) Disable
BSF (N7-Nbsf) Disable
AMF on demand nrf discovery Disable
LDAP (Gx-LDAP) Disable
Sy (PCF N7-Sy) Disable

Table 3-43 CnPCRF Interfaces

Feature Name Status
Sy (PCRF Gx-Sy) Disable
Sd (Gx-Sd) Disable
Gx UDR query (Gx-Nudr) Disable
Gx UDR subscription (Gx-Nudr Disable
CHF enabled (AM) Disable
Usage Monitoring (Gx) Disable
Subscriber HTTP Notifier (Gx) Disable

Infrastructure Details

Table 3-44 Software Details

Applications Versions
Policy 25.2.201
cnDBTier 25.2.200
ASM Disabled
OSO NA
CNE 25.1.100
CNC Console 25.2.200

Table 3-45 Observability Services

Service Names Versions
OpenSearch 2.11.0
Fluentd 1.17.1
Prometheus 2.52.0
Grafana 9.5.3
Jaeger 1.60.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Table 3-46 Hardware Details

Hardware Details
Environment Hypervisor
Server ORACLE SERVER X8-2
Model Intel(R) Xeon(R) Platinum 8260 CPU
Clock Speed 2.400 GHz
Total Cores 96
Memory Size 576 GB
Type DDR4 SDRAM
Installed DIMMs 18
Maximum DIMMs 24
Installed Memory 576 GB

Resource Allocation

The following table describes the resource capacity allocated to the Policy microservices:

Table 3-47 Resource Allocation for Policy Microservices

Microservices CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container Replicas
Appinfo 1 1 1Gi 0.5Gi 1Gi 80Mi 1
Binding Service 6 5 8Gi 1Gi 1Gi 80Mi 18
Diameter Connector 4 3 2Gi 1Gi 1Gi 80Mi 1
Configuration Service 4 2 2Gi 0.5Gi 1Gi 80Mi 2
Egress Gateway 4 3 6Gi 4Gi 1Gi 80Mi 1
Ingress Gateway 4 3 6Gi 4Gi 1Gi 80Mi 1
NRF Client NF Discovery 4 3 2Gi 0.5Gi 1Gi 80Mi 1
NRF Client NF Management 1 1 1Gi 1Gi 1Gi 80Mi 1
Audit Service 2 1 1Gi 1Gi 1Gi 80Mi 1
CM Service 4 2 2Gi 0.5Gi 1Gi 80Mi 2
PDS 6 5 4Gi 1Gi 1Gi 80Mi 5
PRE 8 8 4Gi 4Gi 1Gi 80Mi 24
Query Service 2 1 1Gi 1Gi 1Gi 80Mi 1
pcrf-core/pcrf-core 8 7 8Gi 8Gi 1Gi 80Mi 24
Perfinfo 1 1 1Gi 0.5Gi 1Gi 80Mi 2
Diameter Gateway 4 3 2Gi 1Gi 1Gi 80Mi 9
Appinfo 1 1 1Gi 0.5Gi 1Gi 80Mi 1
Binding Service 6 5 8Gi 1Gi 1Gi 80Mi 18
Diameter Connector 4 3 2Gi 1Gi 1Gi 80Mi 1
Configuration Service 4 2 2Gi 0.5Gi 1Gi 80Mi 2
Egress Gateway 4 3 6Gi 4Gi 1Gi 80Mi 1
Ingress Gateway 4 3 6Gi 4Gi 1Gi 80Mi 1
NRF Client NF Discovery 4 3 2Gi 0.5Gi 1Gi 80Mi 1
NRF Client NF Management 1 1 1Gi 1Gi 1Gi 80Mi 1
Audit Service 2 1 1Gi 1Gi 1Gi 80Mi 1
CM Service 4 2 2Gi 0.5Gi 1Gi 80Mi 2

Table 3-48 Resource Allocation for cnDBTier Services

Microservices CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container Replicas
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1100m 1100m 1Gi 1Gi 1Gi 90Mi 1
mysql-cluster-db-monitor-svc/db-monitor-svc 4 4 4Gi 4Gi 1Gi 90Mi 1
mysql-cluster-one-two-replication-svc/one-two-replication-svc 2 2 12Gi 12Gi 1Gi 90Mi 1
mysql-cluster-one-two-replication-svc/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 1
ndbappmysqld/mysqlndbcluster 8 8 20Gi 19Gi 1Gi 90Mi 5
ndbappmysqld/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 5
ndbappmysqld/init-sidecar 100m 100m 0.25Gi 0.25Gi 1Gi 90Mi 5
ndbmgmd/mysqlndbcluster 4 4 11.25Gi 9Gi 1Gi 90Mi 2
ndbmgmd/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 2
ndbmtd/mysqlndbcluster 10 10 83Gi 73Gi 1Gi 90Mi 8
ndbmtd/db-backup-executor-svc 2 2 2Gi 2Gi 1Gi 90Mi 8
ndbmtd/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 8
ndbmysqld/mysqlndbcluster 10 10 25Gi 25Gi 1Gi 90Mi 2
ndbmysqld/init-sidecar 100m 100m 0.25Gi 0.25Gi 1Gi 90Mi 2
ndbmysqld/db-infra-monitor-svc 200m 200m 0.25Gi 0.25Gi 1Gi 90Mi 2
3.1.4.2 Results

CPU and Memory Utilization

This section lists the CPU and memory utilization by Policy and cnDBTier microservices.

Table 3-49 CPU and Memory Utilization by Policy Microservices

Microservices CPU Site1 Memory Site1 CPU Site2 Memory Site2
Appinfo 3.90% 26.86% 3.30% 26.86%
Binding Service 7.69% 12.43% 7.83% 12.00%
Configuration Service 5.01% 41.19% 3.46% 42.50%
Egress Gateway 0.15% 11.96% 0.12% 15.09%
Ingress Gateway 0.57% 15.97% 0.55% 15.85%
NRF Client NF Discovery 0.12% 30.08% 0.18% 29.05%
NRF Client NF Management 0.50% 41.60% 0.40% 41.70%
Audit Service 0.20% 47.66% 0.20% 47.27%
CM Service 0.36% 54.03% 0.34% 55.22%
PRE 11.18% 53.24% 10.32% 56.19%
Query Service 0.10% 34.67% 0.10% 34.67%
ocpcf-pcrf-core/pcrf-core 28.46% 57.05% 27.83% 54.75%
Perfinfo 5.75% 13.87% 6.80% 13.96%
Diameter Gateway 23.65% 50.15% 20.40% 45.20%

Table 3-50 CPU and Memory Utilization by cnDBTier Services

Microservices CPU Site1 Memory Site1 CPU Site2 Memory Site2
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 0.10% 8.01% 0.10% 7.71%
mysql-cluster-db-monitor-svc/db-monitor-svc 0.12% 15.65% 1.00% 16.09%
mysql-cluster-two-one-replication-svc/two-one-replication-svc - - 0.45% 2.29%
mysql-cluster-two-one-replication-svc/db-infra-monitor-svc - - 1.00% 20.70%
ndbappmysqld/mysqlndbcluster 45.66% 28.65% 43.67% 28.44%
ndbappmysqld/db-infra-monitor-svc 2.00% 22.34% 2.20% 23.52%
ndbappmysqld/init-sidecar 3.00% 0.39% 3.00% 0.39%
ndbmgmd/mysqlndbcluster 0.24% 17.99% 0.25% 17.99%
ndbmgmd/db-infra-monitor-svc 2.00% 21.88% 2.00% 21.88%
ndbmtd/mysqlndbcluster 18.32% 93.10% 19.40% 93.10%
ndbmtd/db-backup-executor-svc 0.10% 2.73% 0.10% 2.73%
mysql-cluster-one-two-replication-svc/one-two-replication-svc 0.40% 2.34% - -
ndbmtd/db-infra-monitor-svc 7.87% 22.17% 9.12% 22.36%
ndbmysqld/mysqlndbcluster 4.08% 17.38% 4.33% 17.38%
ndbmysqld/init-sidecar 3.00% 0.39% 3.00% 0.39%
ndbmysqld/db-infra-monitor-svc 2.00% 24.22% 4.00% 23.44%
mysql-cluster-one-two-replication-svc/db-infra-monitor-svc 2.00% 20.70% - -

Latency

Table 3-51 Average Latency Observations for CnPCRF In Milliseconds

Services Site 1 Site 2
PCRF_Binding 14.209 14.008
PCRF_Core_JDBC_Latency 3.607 3.528

Table 3-52 Average Latency Observations for CnPCRF for Percentile in Milliseconds

Methods 50th Percentile (Site1) 99th Percentile (Site1) 50th Percentile (Site2) 99th Percentile (Site2)
DIAM 9.340 45.800 8.270 58.100

3.1.5 Test Scenario: CnPCRF Data Call Model with 60K TPS per NFSet (with 60K TPS on only one instance)

This test run benchmarks the performance and capacity of CnPCRF data call model that is deployed in converged mode on a single site setup. The test was run for 60K TPS on a single site in georedundant setup for 60 hours.

3.1.5.1 Test Case and Setup Details

Test Case Parameters

The following table describes the test case parameters and their values:

Table 3-53 Testcase Parameters

Parameters Values
Call Rate (Ingress + Egress) 60K TPS
ASM Disabled
Traffic Ratio 1.6:4.2:1.6:1 (CCR-I/U/T/RAR)
Active Subscribers 15M

Policy Project Details:

The Policy Design editor based on the Blockly interface was used to set the Policy project for each of the Policy services. The complexity level of Policy Project configured for this run was High.

Complexity Level Definition:

  • Low– No Usage of Loops in Blockly logic, No JSON operations, No complex Java Script code in Object Expression /Statement Expression.
  • Medium - Usage of Loops in Blockly logic, Policy Table Wildcard match <= 3 fields, MatchList < 3, 3 < RegEx match < 6
  • High - JSON Operations – Custom, complex Java Script code in Object Expression /Statement Expression, Policy Table Wildcard match > 3 fields, MatchLists >= 3, RegEx mat >= 6

Call Model Data

Table 3-54 Traffic distribution per call flow

Call Flow Traffic at Site1
TOTAL-IGW 0
TOTAL-EGW 12168
DIAM-GW-IN-TOTAL 43144
DIAM-GW-OUT-TOTAL 4832
TOTAL-TPS 60144

Following PCF configurations were either enabled or disabled for running this call flow:

Table 3-55 Configurations

Feature Status
Binding Disabled
PER Disabled
SAL Disabled
LDAP Disabled
OCS Disabled
PDS Compression Disabled
Audit Enabled
PRIMARYKEY_LOOKUP_ENABLED Enabled
SINGLE_UE_ID_PREFERENTIAL_SEARCH Enabled
Replication Enabled
USER.allDataTypes.excludeApns Enabled (ims apn)

Table 3-56 PCF Interfaces

Feature Name Status
N36 UDR query (N7/N15-Nudr) Enabled
N36 UDR subscription (N7/N15-Nudr) Enabled
UDR on-demand nrf discovery Disabled
CHF (SM-Nchf) Disabled
BSF (N7-Nbsf) Disabled
AMF on demand nrf discovery Disabled
LDAP (Gx-LDAP) Disabled
Sy (PCF N7-Sy) Disabled

Table 3-57 CnPCRF Interfaces

Feature Name Status
Sy (PCRF Gx-Sy) Disabled
Sd (Gx-Sd) Disabled
Gx UDR query (Gx-Nudr) Disabled
Gx UDR subscription (Gx-Nudr Disabled
CHF enabled (AM) Disabled
Usage Monitoring (Gx) Disabled
Subscriber HTTP Notifier (Gx) Disabled

Infrastructure Details

Table 3-58 Software Details

Aplications Version
Policy 25.2.100
cnDBTier 25.2.100
UDR 25.2.100
ASM Disabled
OSO Disabled
CNE 23.3.5

Table 3-59 Observability Services

Service Names Versions
OpenSearch 2.3.0
Fluentd 1.16.2
Prometheus 2.51.1
Grafana 9.5.3
Jaeger 1.52.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Table 3-60 Hardware Details

Hardware Details
Environment Hypervisor
Server ORACLE SERVER X8-2
Model Intel(R) Xeon(R) Platinum 8260 CPU
Clock Speed 2.400 GHz
Total Cores 96
Memory Size 576 GB
Type DDR4 SDRAM
Installed DIMMs 18
Maximum DIMMs 24
Installed Memory 576 GB

Resource Allocation

The following table describes the resource capacity allocated to the Policy microservices:

Table 3-61 Resource Allocation for Policy Microservices

Microservices CPU Request per pod CPU Limit per pod Memory Request per pod Memory Limit per pod Replicas
Appinfo 2 2 4 4 2
Binding Service 1 1 1 1 0
Diameter Connector 4 4 2 2 1
Diameter Gateway 4 4 2 2 9
Configuration Service 4 4 2 2 2
Egress Gateway 4 4 6 6 10
Ingress Gateway 5 5 6 6 2
Audit Service 2 2 4 4 2
CM Service 2 4 2 2 2
PDS 7 7 8 8 28
PRE 4 4 4 4 28
Query Service 2 2 1 1 2
pcrf-core 8 8 8 8 32
Perfinfo 1 1 1 2 2
Alternate Route Service 2 2 4 4 5

Table 3-62 Resource Allocation for cnDBTier Services

Microservices CPU Request per pod CPU Limit per pod Memory Request per pod Memory Limit per pod ReplicasMin Replica = Max Replica
ndbappmysqld 6 6 13 13 22
ndbmgmd 4 4 8 10 2
ndbmtd 16 16 62 62 14
ndbmysqld 4 4 32 32 4
3.1.5.2 Results

CPU and Memory Utilization

This section lists the CPU and memory utilization by Policy and cnDBTier microservices.

Table 3-63 CPU and Memory Utilization by Policy Microservices

Microservices CPU utilization Memory utilization
Appinfo 1.32 6.96
Audit Service 0.687 28.9
CM Service 0.174 45.2
Configuration Service 3.55 48.2
Diameter Connector 0.114 28.3
Diameter Gateway 30.5 42.7
Alternate Route Service 0.0720 16.8
Egress Gateway 22.6 29.5
Ingress Gateway 0.416 25.3
pcrf-core 45.4 55.1
Perfinfo 18.9 7.43
PDS 15.8 25.0
PRE 40.8 56.5
Query Service 0.0389 36.9

Table 3-64 CPU and Memory Utilization by cnDBTier Services

Microservices CPU Utilization Memory Utilization
ndbappmysqld 27.9 45.9
ndbmtd 17.8 93.4
ndbmysqld 13.8 42.4
ndbmgmd 0.263 20.9

Latency

Table 3-65 Average Latency Observations (in milliseconds) for the Call Flows:

Service Name Observed Latency at Site1(ms)
PCF_IGW_Latency NA
PCF_SM_Svc_Overall NA
PCF_POLICYPDS_Overall 43.3
PCF_UDRCONNECTOR_Overall 108
PCF_CHFCONNECTOR_Overall NA
PCF_NRFCLIENT_On_Demand NA
PCF_UsrSvc_Overall NA
PCF_EGRESS_Latency 106
PCF_Binding_Svc_Latency NA
PCRF_Core_JDBC_Latency 0.782
PCF_Diam_Connector_Latency NA
PCF_Diam_Gw_Latency NA
PCF_Usage_Mon NA
Pcrf_Core_Overall NA

Table 3-66 Latency obervations for cnDBTier services

Site-Slave Node( In Seconds) cnDBtier Replication Delay
Site-1-ndbmysqld-0 0
Site-1-ndbmysqld-1 0
Site-1-ndbmysqld-2 0
Site-1-ndbmysqld-3 0
Site-2-ndbmysqld-0 0
Site-2-ndbmysqld-1 0
Site-2-ndbmysqld-2 0
Site-2-ndbmysqld-3 0

3.1.6 Test Scenario:CnPCRF Usage Monitoring Data Call Model on Two-Site GeoRedundant Setup, with 28K TPS per NFSet (with 28K TPS on only one instance)

This test was run to benchmark the performance and capacity of CnPCRF call model with 10K TPS Diameter Ingress Gateway and 18K TPS Diameter Egress Gateway TPS Traffic with Usage Monitoring enabled.

3.1.6.1 Test Case and Setup Details

Testcase Parameters

The following table describes the testcase parameters and their values:

Parameters Values
Call Rate (Ingress + Egress) 28K TPS on a two-site Setup
ASM Disable
Traffic Ratio 10K Diameter Ingress Gateway TPS and 19K Egress Gateway TPS
Active Subscribers 5M

Project Details

The Policy Design editor based on the Blockly interface was used to set the Policy project for each of the Policy services. The complexity level of Policy Project configured for this run was High.

Complexity Level Definition:

  • Low – No usage of loops in Blockly logic, no JSON operations, and no complex Java Script code in object expression/statement expression.
  • Medium – Usage of loops in Blockly logic, Policy table wildcard match <= 3 fields, MatchList < 3, and 3 < RegEx match < 6
  • High – JSON Operations – Custom, complex Java script code in object Expression/statement expression, Policy table wildcard match > 3 fields, MatchLists >= 3, and RegEx mat >= 6

Configurations

Following configurations were either enabled or disabled for running this call flow:

Table 3-67 Configurations

Name Status
Binding Disabled
Subscriber Tracing Enabled
Overload Enabled
Bulwark Enabled

Infrastructure Details

Table 3-68 Software Details

Applications Versions
Policy 25.1.201
cnDBTier 25.1.201
UDR 25.1.201
ASM Disabled
OSO NA
CNE 23.3.5
CNC Console 25.1.201

Table 3-69 Observability Services

Service Names Versions
OpenSearch 2.3.0
Fluentd 1.16.2
Prometheus 2.51.1
Grafana 9.5.3
Jaeger 1.52.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Table 3-70 Hardware Details

Hardware Details
Environment Hypervisor
Server ORACLE SERVER X8-2
Model Intel(R) Xeon(R) Platinum 8260 CPU
Clock Speed 2.400 GHz
Total Cores 96
Memory Size 576 GB
Type DDR4 SDRAM
Installed DIMMs 18
Maximum DIMMs 24
Installed Memory 576 GB

Resource Allocation

The following table describes the resource capacity allocated to the Policy microservices:

Table 3-71 Resource Allocation for Policy Microservices

Microservices Replicas CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container
Appinfo 2 1 1 1Gi 1Gi 1Gi 80Mi
Bulwark Service 1 2 2 1Gi 1Gi 1Gi 80Mi
Notifier 1 2 2 1Gi 1Gi 1Gi 80Mi
Binding Service 4 4 4 4Gi 4Gi 1Gi 80Mi
Diameter Connector 1 4 4 2Gi 2Gi 2Gi 80Mi
Configuration Service 2 4 4 2Gi 2Gi 1Gi 80Mi
Egress Gateway 10 4 4 6Gi 6Gi 1Gi 80Mi
Ingress Gateway 2 2 2 2Gi 2Gi 1Gi 80Mi
NRF Client NF Discovery 2 1 1 1Gi 1Gi 1Gi 80Mi
NRF Client NF Management 1 1 1 1Gi 1Gi 1Gi 80Mi
UDR Connector 10 6 6 4Gi 4Gi 1Gi 80Mi
Audit Service 1 2 2 4Gi 4Gi 1Gi 80Mi
CM Service 2 4 4 2Gi 2Gi 2Gi 80Mi
PDS 16 7 7 4Gi 4Gi 4Gi 80Mi
PRE 8 4 4 4Gi 4Gi 1Gi 80Mi
Query Service 1 2 2 1Gi 1Gi 1Gi 80Mi
AM Service 1 1 1 1Gi 1Gi 1Gi 80Mi
SM Service 1 2 2 2Gi 2Gi 1Gi 80Mi
UE Service 1 1 1 1Gi 1Gi 1Gi 80Mi
CnPCRF Core 10 8 8 8Gi 8Gi 8Gi 80Mi
Perfinfo 2 1 1 1Gi 1Gi 1Gi 80Mi
Usage Mon 10 8 8 5Gi 5Gi 4Gi 80Mi
Diameter Gateway 3 4 4 4Gi 4Gi 2Gi 80Mi

Table 3-72 Resource Allocation for UDR

Microservices Replicas CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container
ocudr-alternate-route/istio-proxy 2 1000m 1000m 1Gi 1Gi NA NA
ocudr-alternate-route/alternate-route 2 2 2 2Gi 2Gi 1Gi 57Mi
ocudr-appinfo/istio-proxy 2 1000m 1000m 1Gi 1Gi NA NA
ocudr-appinfo/appinfo 2 1 1 1Gi 1Gi 1Gi 57Mi
ocudr-egressgateway/istio-proxy 2 1000m 1000m 1Gi 1Gi NA NA
ocudr-egressgateway/egressgateway 2 6 6 4Gi 4Gi 1Gi 57Mi
ocudr-ingressgateway-prov/istio-proxy 2 2000m 2000m 1Gi 1Gi NA NA
ocudr-ingressgateway-prov/ingressgateway-prov 2 4 4 4Gi 4Gi 1Gi 57Mi
ocudr-ingressgateway-sig/istio-proxy 9 4000m 4000m 1Gi 1Gi NA NA
ocudr-ingressgateway-sig/ingressgateway-sig 9 6 6 4Gi 4Gi 1Gi 57Mi
ocudr-nudr-config/istio-proxy 2 1000m 1000m 1Gi 1Gi NA NA
ocudr-nudr-config/nudr-config 2 1 1 1Gi 1Gi 1022Mi 72Mi
ocudr-nudr-config-server/istio-proxy 2 1000m 1000m 1Gi 1Gi NA NA
ocudr-nudr-config-server/config-server 2 1 1 1Gi 1Gi 1Gi 57Mi
ocudr-nudr-diameterproxy/nudr-diameterproxy 2 6 6 4Gi 4Gi 1022Mi 72Mi
ocudr-nudr-dr-provservice/istio-proxy 2 2000m 2000m 1Gi 1Gi NA NA
ocudr-nudr-dr-provservice/nudr-dr-provservice 2 4 4 4Gi 4Gi 1022Mi 72Mi
ocudr-nudr-drservice/istio-proxy 17 3000m 3000m 1Gi 1Gi NA NA
ocudr-nudr-drservice/nudr-drservice 17 6 6 4Gi 4Gi 1022Mi 72Mi
ocudr-nudr-notify-service/nudr-notify-service 3 6 6 5Gi 5Gi 1022Mi 72Mi
ocudr-nudr-nrf-client-nfmanagement/istio-proxy 2 1000m 1000m 1Gi 1Gi NA NA
ocudr-nudr-nrf-client-nfmanagement/nrf-client-nfmanagement 2 1 1 1Gi 1Gi 1Gi 57Mi
ocudr-performance/istio-proxy 2 1000m 1000m 1Gi 1Gi NA NA
ocudr-performance/perf-info 2 1 1 1Gi 1Gi 1Gi 57Mi
ocudr-nudr-diam-gateway/nudr-diam-gateway 2 6 6 5Gi 5Gi 1Gi 72Mi

Table 3-73 Resource Allocation for cnDBTier Services

Microservices Replicas CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 1 1 1Gi 1Gi 1Gi 90Mi
mysql-cluster-db-monitor-svc/db-monitor-svc 1 4 4 4Gi 4Gi 1Gi 90Mi
mysql-cluster-one-two-replication-svc/one-two-replication-svc 1 2 2 12Gi 12Gi 1Gi 90Mi
mysql-cluster-one-two-replication-svc/db-infra-monitor-svc 1 100m 100m 256Mi 256Mi 1Gi 90Mi
ndbappmysqld/mysqlndbcluster 6 12 12 20Gi 20Gi 1Gi 1Gi
ndbappmysqld/db-infra-monitor-svc 6 100m 100m 256Mi 256Mi 1Gi 90Mi
ndbappmysqld/init-sidecar 6 100m 100m 256Mi 256Mi 1Gi 90Mi
ndbmgmd/mysqlndbcluster 2 4 4 10Gi 8Gi 1Gi 90Mi
ndbmgmd/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi 1Gi 90Mi
ndbmtd/mysqlndbcluster 6 12 12 75Gi 75Gi 1Gi 1Gi
ndbmtd/db-backup-executor-svc 6 1 1 1Gi 1Gi 1Gi 90Mi
ndbmtd/db-infra-monitor-svc 6 100m 100m 256Mi 256Mi 1Gi 90Mi
ndbmysqld/mysqlndbcluster 2 4 4 16Gi 16Gi 1Gi 1Gi
ndbmysqld/init-sidecar 2 100m 100m 256Mi 256Mi 1Gi 90Mi
ndbmysqld/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi 1Gi 90Mi
3.1.6.2 Results

CPU and Memory Utilization

This section lists the CPU and memory utilization by Policy and cnDBTier microservices.

Table 3-74 CPU and Memory Utilization by Policy Microservices

Microservices CPU Site1 Memory Site1 CPU Site2 Memory Site2
Appinfo 3.00% 26.12% None None
Bulwark Service 36.80% 52.54% None None
Notifier 0.05% 27.15% None None
Binding Service 22.19% 20.26% None None
Diameter Connector 0.12% 22.95% None None
Configuration Service 3.35% 41.46% None None
Egress Gateway 41.15% 22.13% None None
Ingress Gateway 1.95% 50.42% None None
NRF Client NF Discovery 0.20% 46.24% None None
NRF Client NF Management 0.30% 48.83% None None
UDR Connector 33.42% 43.24% None None
Audit Service 0.20% 13.31% None None
CM Service 0.21% 33.37% None None
PDS 45.85% 47.33% None None
PRE 39.68% 52.99% None None
Query Service 0.05% 30.96% None None
AM Service 0.20% 33.11% None None
SM Service 0.10% 26.32% None None
UE Service 0.30% 37.60% None None
CnPCRF core 38.20% 49.64% None None
Perfinfo 19.40% 14.79% None None
Usage Monitoring 55.45% 73.66% None None
Diameter Gateway 25.35% 25.80% None None

Table 3-75 CPU and Memory Utilization by UDR

Microservices CPU Site1 Memory Site1 CPU Site2 Memory Site2
ocudr-alternate-route/istio-proxy 0.00% 0.00% None None
ocudr-alternate-route/alternate-route 0.10% 26.37% None None
ocudr-appinfo/istio-proxy 0.00% 0.00% None None
ocudr-appinfo/appinfo 2.95% 25.34% None None
ocudr-egressgateway/istio-proxy 0.00% 0.00% None None
ocudr-egressgateway/egressgateway 0.07% 19.59% None None
ocudr-ingressgateway-prov/istio-proxy 0.00% 0.00% None None
ocudr-ingressgateway-prov/ingressgateway-prov 0.10% 33.14% None None
ocudr-ingressgateway-sig/istio-proxy 0.00% 0.00% None None
ocudr-ingressgateway-sig/ingressgateway-sig 31.78% 47.32% None None
ocudr-nudr-config/istio-proxy 0.00% 0.00% None None
ocudr-nudr-config/nudr-config 0.40% 48.58% None None
ocudr-nudr-config-server/istio-proxy 0.00% 0.00% None None
ocudr-nudr-config-server/config-server 0.80% 37.65% None None
ocudr-nudr-diameterproxy/nudr-diameterproxy 1.10% 39.76% None None
ocudr-nudr-dr-provservice/istio-proxy 0.00% 0.00% None None
ocudr-nudr-dr-provservice/nudr-dr-provservice 1.26% 37.23% None None
ocudr-nudr-drservice/istio-proxy 0.00% 0.00% None None
ocudr-nudr-drservice/nudr-drservice 42.51% 49.26% None None
ocudr-nudr-notify-service/nudr-notify-service 81.46% 38.98% None None
ocudr-nudr-nrf-client-nfmanagement/istio-proxy 0.00% 0.00% None None
ocudr-nudr-nrf-client-nfmanagement/nrf-client-nfmanagement 0.35% 51.03% None None
ocudr-performance/istio-proxy 0.00% 0.00% None None
ocudr-performance/perf-info 3.35% 13.38% None None
ocudr-nudr-diam-gateway/nudr-diam-gateway 0.97% 33.75% None None

Table 3-76 CPU and Memory Utilization by cnDBTier Services

Microservices CPU Site1 Memory Site1 CPU Site2 Memory Site2
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 0.10% 8.30% 0.50% 8.59%
mysql-cluster-db-monitor-svc/db-monitor-svc 0.10% 11.52% 0.78% 11.89%
mysql-cluster-two-one-replication-svc/two-one-replication-svc None None 0.25% 2.28%
mysql-cluster-two-one-replication-svc/db-infra-monitor-svc None None 1.00% 20.31%
mysql-cluster-one-two-replication-svc/one-two-replication-svc 0.25% 2.22% None None
mysql-cluster-one-two-replication-svc/db-infra-monitor-svc 1.00% 19.53% None None
ndbappmysqld/mysqlndbcluster 45.18% 20.40% 0.12% 18.00%
ndbappmysqld/db-infra-monitor-svc 1.17% 20.83% 1.33% 20.57%
ndbappmysqld/init-sidecar 2.00% 0.39% 2.00% 0.39%
ndbmgmd/mysqlndbcluster 0.12% 20.20% 0.15% 20.20%
ndbmgmd/db-infra-monitor-svc 1.00% 19.53% 1.00% 19.34%
ndbmtd/mysqlndbcluster 29.06% 93.26% 7.27% 93.20%
ndbmtd/db-backup-executor-svc 0.10% 5.45% 0.10% 5.45%
ndbmtd/db-infra-monitor-svc 4.33% 20.25% 3.33% 20.31%
ndbmysqld/mysqlndbcluster 18.06% 25.26% 9.95% 22.68%
ndbmysqld/init-sidecar 2.00% 0.39% 2.00% 0.39%
ndbmysqld/db-infra-monitor-svc 2.00% 22.66% 2.00% 22.85%

Latency

Table 3-77 Average NF service latency (in milliseconds)

NF Service Latency Site1 Site2
PCF_IGW_Latency 130.250 NA
PCF_SM_Svc_Overall 0.000 NA
PCF_POLICYPDS_Overall 17.802 NA
PCF_UDRCONNECTOR_Overall 9.095 NA
PCF_CHFCONNECTOR_Overall 0.000 NA
PCF_NRFCLIENT_On_Demand 0.000 NA
PCF_UsrSvc_Overall 0.000 NA
PCF_EGRESS_Latency 7.465 NA
PCF_Binding_Svc_Latency 3.906 NA
PCF_Diam_Connector_Latency 0.000 NA
PCF_Diam_Gw_Latency 2195.993 NA
PCF_Usage_Mon 34719.919 NA
Pcrf_Core_Overall 1000.000 NA

Table 3-78 Average Latency (in milliseconds)

NF Service Latency Site1 Site2
UDR_DB_Latency 0.030 NA
UDR_Req_Latency 2.470 NA
Diam_Db_Latency 0.000 NA
Diam_Backend_Latency 0.000 NA

3.1.7 Test Scenario: CnPCRF Voice and Data Call Model with 46.5K TPS per NFSet (with 46.5K TPS on only one instance)

This test run benchmarks the performance and capacity of Policy data call model that is deployed in PCF mode. The PCF application's total traffic (Ingress + Egress) of 46.5K TPS on single site PCF Setup with UDR interworking.

3.1.7.1 Test Case and Setup Details

Test Case Parameters

The following table describes the testcase parameters and their values:

Table 3-79 Testcase Parameters

Parameter Value
Call Rate (Ingress + Egress) 46.5K TPS on a single site with UDR interworking
ASM Disable
Traffic Ratio 46.5K TPS on a single site
Active User Count NA

Policy Project Details:

The Policy Design editor based on the Blockly interface was used to set the Policy project for each of the Policy services. The complexity level of Policy Project configured for this run was High.

Complexity Level Definition:

  • Low– No Usage of Loops in Blockly logic, No JSON operations, No complex Java Script code in Object Expression /Statement Expression.
  • Medium - Usage of Loops in Blockly logic, Policy Table Wildcard match <= 3 fields, MatchList < 3, 3 < RegEx match < 6
  • High - JSON Operations – Custom, complex Java Script code in Object Expression /Statement Expression, Policy Table Wildcard match > 3 fields, MatchLists >= 3, RegEx mat >= 6

Call Model Data:

Following PCF configurations were either enabled or disabled for running this call flow:

Table 3-80 Policy Configurations

Feature Name Configuration
SAL Enabled
Binding Service Disabled
Congestion and Overload Disabled
PDS Single UEID Enabled (GPSI)
PRIMARYKEY_LOOKUP_ENABLED Enabled (true)
PER Disabled
OCS Enabled
Audit Enabled
PDS Compression scheme Disabled

Table 3-81 Call Model Data

Service Name Traffic at Site1 Traffic at Site2
Pcrf-Total-Tps ( 46500 -

Infrastructure Details

Infrastructure used for benchmarking Policy performance run is described in this section.

Table 3-82 Hardware Details

Hardware Details
Environment BareMetal
Server ORACLE SERVER X9-2
Model Intel(R) Xeon(R) Platinum 8358 CPU
Clock Speed 2.600 GHz
Total Cores 128
Memory Size 1024 GB
Type DDR4 SDRAM
Installed DIMMs 16
Maximum DIMMs 32
Installed Memory 1024 GB

Table 3-83 Software Details

Aplications Version
Policy 25.1.200
cnDBTier 25.1.200
OSO NA
CNE 23.3.5

Table 3-84 Observability Services

Service Names Versions
OpenSearch 2.3.0
Fluentd 1.16.2
Prometheus 2.51.1
Grafana 9.5.3
Jaeger 1.52.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Resource Allocation

Table 3-85 Resource Allocation for CnPCRF

Service Name Replicas CPU Limit per Container (#) CPU Request per Container (#) Memory Limit per Container Memory Request per Container
NRFsim 2 NA NA NA NA
Appinfo 1 2 1 2Gi 1Gi
Bulwark Service 2 8 8 6Gi 6Gi
Binding Service 1 6 6 8Gi 8Gi
Diameter Connector 4 4 4 2Gi 1Gi
CHF Connector User Service 2 6 6 4Gi 4Gi
Config-server 2 4 4 2Gi 512Mi
Egress Gateway 6 4 4 6Gi 6Gi
Ingress Gateway 2 5 5 6Gi 6Gi
NRF Client NF Discovery 2 4 4 4Gi 4Gi
NRF Client Management 2 1 1 1Gi 1Gi
UDR connector User Service 11 6 6 4Gi 4Gi
Audit Service 2 2 2 4Gi 4Gi
CM service 2 4 2 2Gi 512Mi
PolicyDS 28 7 7 8Gi 8Gi
PRE Service 20 4 4 4Gi 4Gi
Query Service 1 2 1 1Gi 1Gi
AM Service 2 8 8 8Gi 8Gi
SM Service 2 2 2 2Gi 2Gi
UE Policy Service 2 8 8 6Gi 6Gi
PCRF Core 32 8 8 8Gi 8Gi
Perf-info 2 2 1 2Gi 1Gi
UDMsim 2 NA NA NA NA
Diameter Gateway 2 4 4 2Gi 1Gi

Table 3-86 Resource Allocation for UDR

Service Name Replicas CPU Limit per Container (#) CPU Request per Container (#) Memory Limit per Container Memory Request per Container
UDR-Site1-ocudr-alternate-route/istio-proxy 2 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-alternate-route/alternate-route 2 2 2 2Gi 2Gi
UDR-Site1-ocudr-appinfo/istio-proxy 2 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-appinfo/appinfo 2 1 1 1Gi 1Gi
UDR-Site1-ocudr-egressgateway/istio-proxy 2 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-egressgateway/egressgateway 2 6 6 4Gi 4Gi
UDR-Site1-ocudr-ingressgateway-prov/istio-proxy 2 2000m 2000m 1Gi 1Gi
UDR-Site1-ocudr-ingressgateway-prov/ingressgateway-prov 2 4 4 4Gi 4Gi
UDR-Site1-ocudr-ingressgateway-sig/istio-proxy 9 4000m 4000m 1Gi 1Gi
UDR-Site1-ocudr-ingressgateway-sig/ingressgateway-sig 9 6 6 4Gi 4Gi
UDR-Site1-ocudr-nudr-config/istio-proxy 2 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-nudr-config/nudr-config 2 2 2 2Gi 2Gi
UDR-Site1-ocudr-nudr-config-server/istio-proxy 2 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-nudr-config-server/config-server 2 2 2 2Gi 512Mi
UDR-Site1-ocudr-nudr-dbcr-auditor-service/istio-proxy 1 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-nudr-dbcr-auditor-service/nudr-dbcr-auditor-service 1 2 2 2Gi 2Gi
UDR-Site1-ocudr-nudr-diameterproxy/nudr-diameterproxy 2 6 6 4Gi 4Gi
UDR-Site1-ocudr-nudr-dr-provservice/istio-proxy 2 2000m 2000m 1Gi 1Gi
UDR-Site1-ocudr-nudr-dr-provservice/nudr-dr-provservice 2 4 4 4Gi 4Gi
UDR-Site1-ocudr-nudr-drservice/istio-proxy 12 3000m 3000m 1Gi 1Gi
UDR-Site1-ocudr-nudr-drservice/nudr-drservice 12 6 6 4Gi 4Gi
UDR-Site1-ocudr-nudr-notify-service/nudr-notify-service 3 6 6 5Gi 5Gi
UDR-Site1-ocudr-nudr-nrf-client-nfmanagement/istio-proxy 2 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-nudr-nrf-client-nfmanagement/nrf-client-nfmanagement 2 1 1 1Gi 1Gi
UDR-Site1-ocudr-nudr-ondemand-migration/nudr-ondemand-migration 2 2 2 2Gi 2Gi
UDR-Site1-ocudr-performance/istio-proxy 2 1000m 1000m 1Gi 1Gi
UDR-Site1-ocudr-performance/perf-info 2 1 1 1Gi 1Gi
UDR-Site1-ocudr-nudr-diam-gateway/nudr-diam-gateway 2 6 6 5Gi 5Gi

Table 3-87 Resource Allocation for cnDBTier at Site1

Service Name Replicas CPU Limit per Container (#) CPU Request per Container (#) Memory Limit per Container Memory Request per Container
Site1-mysql-cluster-chio-inde-replication-svc/chio-inde-replication-svc 1 3 2 12Gi 12Gi
Site1-mysql-cluster-chio-inde-replication-svc/db-infra-monitor-svc 1 100m 100m 256Mi 256Mi
Site1-mysql-cluster-chio-inde-replication-svc-2/chio-inde-replication-svc-2 1 2 2 12Gi 12Gi
Site1-mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 100m 100m 128Mi 128Mi
Site1-mysql-cluster-db-monitor-svc/db-monitor-svc 1 5 4 4Gi 4Gi
Site1-ndbappmysqld/mysqlndbcluster 10 9 9 20Gi 20Gi
Site1-ndbappmysqld/db-infra-monitor-svc 10 100m 100m 256Mi 256Mi
Site1-ndbappmysqld/init-sidecar 10 300m 300m 512Mi 512Mi
Site1-ndbmgmd/mysqlndbcluster 2 5 4 10Gi 8Gi
Site1-ndbmgmd/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi
Site1-ndbmtd/mysqlndbcluster 6 12 12 125Gi 125Gi
Site1-ndbmtd/db-backup-executor-svc 6 1200m 1200m 2560Mi 2560Mi
Site1-ndbmtd/db-infra-monitor-svc 6 100m 100m 256Mi 256Mi
Site1-ndbmysqld/mysqlndbcluster 4 5 4 21Gi 21Gi
Site1-ndbmysqld/init-sidecar 4 300m 300m 512Mi 512Mi
Site1-ndbmysqld/db-infra-monitor-svc 4 100m 100m 256Mi 256Mi

Table 3-88 Resource Allocation for cnDBTier at Site2

Service Name Replicas CPU Limit per Container (#) CPU Request per Container (#) Memory Limit per Container Memory Request per Container
Site2-mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 100m 100m 128Mi 128Mi
Site2-mysql-cluster-db-monitor-svc/db-monitor-svc 1 5 4 4Gi 4Gi
Site2-mysql-cluster-inde-chio-replication-svc/inde-chio-replication-svc 1 3 2 12Gi 12Gi
Site2-mysql-cluster-inde-chio-replication-svc/db-infra-monitor-svc 1 100m 100m 256Mi 256Mi
Site2-mysql-cluster-inde-chio-replication-svc-2/inde-chio-replication-svc-2 1 2 2 12Gi 12Gi
Site2-ndbappmysqld/mysqlndbcluster 10 9 9 20Gi 20Gi
Site2-ndbappmysqld/db-infra-monitor-svc 10 100m 100m 256Mi 256Mi
Site2-ndbappmysqld/init-sidecar 10 300m 300m 512Mi 512Mi
Site2-ndbmgmd/mysqlndbcluster 2 5 4 10Gi 8Gi
Site2-ndbmgmd/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi
Site2-ndbmtd/mysqlndbcluster 6 12 12 125Gi 125Gi
Site2-ndbmtd/db-backup-executor-svc 6 1200m 1200m 2560Mi 2560Mi
Site2-ndbmtd/db-infra-monitor-svc 6 100m 100m 256Mi 256Mi
Site2-ndbmysqld/mysqlndbcluster 4 5 4 21Gi 21Gi
Site2-ndbmysqld/init-sidecar 4 300m 300m 512Mi 512Mi
Site2-ndbmysqld/db-infra-monitor-svc 4 100m 100m 256Mi 256Mi

Table 3-89 cnDBTier (for UDR) Resource Allocation at Site1:

Service Name Replicas CPU Limit per Container (#) CPU Request per Container (#) Memory Limit per Container Memory Request per Container
Site1-mysql-cluster-chio-inde-replication-svc/chio-inde-replication-svc 1 2 2 12Gi 12Gi
Site1-mysql-cluster-chio-inde-replication-svc/db-infra-monitor-svc 1 100m 100m 256Mi 256Mi
Site1-mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 100m 100m 128Mi 128Mi
Site1-mysql-cluster-db-monitor-svc/db-monitor-svc 1 4 4 4Gi 4Gi
Site1-ndbappmysqld/mysqlndbcluster 10 6 6 4Gi 4Gi
Site1-ndbappmysqld/db-infra-monitor-svc 10 100m 100m 256Mi 256Mi
Site1-ndbappmysqld/init-sidecar 10 100m 100m 256Mi 256Mi
Site1-ndbmgmd/mysqlndbcluster 2 3 3 10Gi 10Gi
Site1-ndbmgmd/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi
Site1-ndbmtd/mysqlndbcluster 4 4 4 120Gi 120Gi
Site1-ndbmtd/db-backup-executor-svc 4 100m 100m 256Mi 256Mi
Site1-ndbmtd/db-infra-monitor-svc 4 100m 100m 256Mi 256Mi
Site1-ndbmysqld/mysqlndbcluster 2 4 4 10Gi 10Gi
Site1-ndbmysqld/init-sidecar 2 100m 100m 256Mi 256Mi
Site1-ndbmysqld/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi

Table 3-90 cnDBTier (for UDR) Resource Allocation at Site2:

Service Name Replicas CPU Limit per Container (#) CPU Request per Container (#) Memory Limit per Container Memory Request per Container
Site2-mysql-cluster-chio-inde-replication-svc/chio-inde-replication-svc 1 2 2 12Gi 12Gi
Site2-mysql-cluster-chio-inde-replication-svc/db-infra-monitor-svc 1 100m 100m 256Mi 256Mi
Site2-mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 100m 100m 128Mi 128Mi
Site2-mysql-cluster-db-monitor-svc/db-monitor-svc 1 4 4 4Gi 4Gi
Site2-ndbappmysqld/mysqlndbcluster 10 6 6 4Gi 4Gi
Site2-ndbappmysqld/db-infra-monitor-svc 10 100m 100m 256Mi 256Mi
Site2-ndbappmysqld/init-sidecar 10 100m 100m 256Mi 256Mi
Site2-ndbmgmd/mysqlndbcluster 2 3 3 10Gi 10Gi
Site2-ndbmgmd/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi
Site2-ndbmtd/mysqlndbcluster 4 4 4 120Gi 120Gi
Site2-ndbmtd/db-backup-executor-svc 4 100m 100m 256Mi 256Mi
Site2-ndbmtd/db-infra-monitor-svc 4 100m 100m 256Mi 256Mi
Site2-ndbmysqld/mysqlndbcluster 2 4 4 10Gi 10Gi
Site2-ndbmysqld/init-sidecar 2 100m 100m 256Mi 256Mi
Site2-ndbmysqld/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi
3.1.7.2 Results

CPU and Memory Utilization

This section lists the CPU and memory utilization by Policy and cnDBTier microservices.

The average CPU utilization is the ratio between the current usage of resource to the requested resources of the pod, that is, total sum of CPU utilized for service pods / total CPU requested for service pods.

Table 3-91 CPU and Memory Utilization by Policy Microservices

Service Name CPU at Site1 Memory at Site1 CPU at Site2 Memory at Site2
NRFsim ['NA'] ['NA'] None None
Appinfo 2.05% 12.99% None None
Bulwark service 0.04% 10.09% None None
Binding service 0.03% 7.71% None None
Diameter Connector 23.41% 49.26% None None
CHF Connector 0.05% 14.72% None None
Config Service 5.22% 47.71% None None
Egress Gateway 35.83% 34.24% None None
Ingress Gateway 0.19% 15.71% None None
NRF Client NF Discovery 0.09% 24.73% None None
NRF Client NF Management 0.35% 49.02% None None
UDR Connector 14.02% 41.10% None None
Audit Service 1.12% 29.38% None None
CM Service 0.24% 35.28% None None
PDS 34.78% 51.91% None None
PRE 28.38% 60.54% None None
Query Service 0.05% 31.54% None None
AM Service 0.04% 8.26% None None
SM Service 0.10% 38.28% None None
UE Service 0.04% 10.66% None None
PCRF Core 34.23% 52.03% None None
PerfInfo 0.10% 6.45% None None
UDMsim ['NA'] ['NA'] None None
Diameter Gateway 76.15% 48.80% None None

Table 3-92 CPU and Memory Utilization by cnDBTier Microservices

Service Name CPU at Site1 Memory at Site1 CPU at Site2 Memory at Site2
mysql-cluster-chio-inde-replication-svc/chio-inde-replication-svc 0.20% 2.38% None None
mysql-cluster-chio-inde-replication-svc/db-infra-monitor-svc 2.00% 19.92% None None
mysql-cluster-chio-inde-replication-svc-2/chio-inde-replication-svc-2 0.30% 2.24% None None
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 4.00% 69.53% None None
mysql-cluster-db-monitor-svc/db-monitor-svc 0.10% 12.92% None None
ndbappmysqld/mysqlndbcluster 57.55% 28.25% None None
ndbappmysqld/db-infra-monitor-svc 1.90% 21.68% None None
ndbappmysqld/init-sidecar 0.67% 0.20% None None
ndbmgmd/mysqlndbcluster 0.12% 20.21% None None
ndbmgmd/db-infra-monitor-svc 1.00% 20.70% None None
ndbmtd/mysqlndbcluster 37.85% 90.47% None None
ndbmtd/db-backup-executor-svc 0.08% 2.17% None None
ndbmtd/db-infra-monitor-svc 3.00% 21.22% None None
ndbmysqld/mysqlndbcluster 10.77% 21.37% None None
ndbmysqld/init-sidecar 0.67% 0.20% None None
ndbmysqld/db-infra-monitor-svc 3.00% 23.05% None None

Latency

Table 3-93 Average Latency Observations for CnPCRF In Milliseconds:

Service Name Latency at Site1 Latency at Site2
PCRF_Policyds 12.7 -
PCRF_Binding 0.00 -
PCRF_Diam_connector 1.17 -
PCRF_Core_JDBC_Latency 1.00 -

Table 3-94 Average Latency Observations for UDR In Milliseconds:

Service Name Latency at Site1 Latency at Site2
UDR_DB_Latency 0.02 -
UDR_Req_Latency 1.51 -
Diam_Db_Latency 0.00 -
Diam_Backend_Latency 0.00 -

Table 3-95 Average Latency Observations for CnPCRF for current percentile In Milliseconds:

Methods 50th Percentile at Site1 99th Percentile at Site1 50th Percentile at Site2 99th Percentile at Site2
DIAM 0.00 0.02 - -

Table 3-96 Average Latency Observations for UDR for current percentile In MilliSeconds:

Methods 50th Percentile at Site1 99th Percentile at Site1 50th Percentile at Site2 99th Percentile at Site2
IGW_GET 0.00 0.01 - -
IGW_DELETE 0.00 0.01 - -
IGW_PUT 0.00 0.00 - -
EGW_GET 0.00 0.00 - -
EGW_DELETE 0.00 0.00 - -
EGW_PUT 0.00 0.01 - -

Table 3-97 Additional Latency

Latency Gx Interface Rx Interface Sy Interface
Additional Induced Latency 100ms 100ms 100ms
Additional PER 0.01% 0.01% 0.01%

Table 3-98 Latency obervations for cnDBTier services

Site-Slave Node cnDBTier Replication Slave Delay (seconds)
Site1-ndbmysqld 0-1
Site2-ndbmysqld 0-1

3.2 PCF Call Models

Following are the cnDBTier Helm Parameters that needs to be configured for all the test scenarios for AM/UE .

Table 3-99 Configuring cnDBTier Helm Parameters

Helm Parameter Value
db-monitor-svc.restartSQLNodesIfBinlogThreadStalled true
global.additionalndbconfigurations.mysqld.binlog_cache_size 10485760
global.additionalndbconfigurations.ndb.NoOfFragmentLogFiles 64
global.additionalndbconfigurations.mysqld.ndb_allow_copying_alter_table 1
global.additionalndbconfigurations.ndb.ConnectCheckIntervalDelay 500
global.additionalndbconfigurations.ndb.NoOfFragmentLogParts 6
global.additionalndbconfigurations.ndb.MaxNoOfExecutionThreads 10
global.additionalndbconfigurations.ndb.FragmentLogFileSize 32M
db-monitor-svc.binlogthreadstore.capacity 5
global.additionalndbconfigurations.mysqld.ndb_allow_copying_alter_table ON
global.additionalndbconfigurations.ndb.MaxNoOfOrderedIndexes 4096
global.additionalndbconfigurations.ndb.binlog_expire_logs_seconds 259200
global.additionalndbconfigurations.ndb.MaxBufferedEpochBytes 536870912
global.additionalndbconfigurations.ndb.MaxBufferedEpochs 1000
global.additionalndbconfigurations.ndb.MaxNoOfUniqueHashIndexes 4096
global.additionalndbconfigurations.ndb.HeartbeatIntervalDbDb 500
global.additionalndbconfigurations.ndb.SchedulerExecutionTimer 100
global.additionalndbconfigurations.ndb.RedoBuffer 32M
global.additionalndbconfigurations.ndb.TotalSendBufferMemory 3072M

3.2.1 Test Scenario: PCF AM/UE Call Model on Two-Site Georedundant Setup, with Single-Site Handling 60K TPS Traffic and ASM Enabled

This test was run to benchmark the performance and capacity of PCF call model with 30K traffic on a single site. Binding feature was enabled.

3.2.1.1 Test Case and Setup Details

Testcase Parameters

The following table describes the testcase parameters and their values:

Parameters Values
Call Rate (Ingress + Egress) 30K TPS on a single site
ASM Disable
Traffic Ratio IGW-11,EGW-26,Diam-in 9,Diam-Out 3IGW-11 ,EGW-26,Diam-in=9,Diam-out - 3

Project Details

The Policy Design editor based on the Blockly interface was used to set the Policy project for each of the Policy services. The complexity level of Policy Project configured for this run was High.

Complexity Level Definition:

  • Low – No usage of loops in Blockly logic, no JSON operations, and no complex Java Script code in object expression/statement expression.
  • Medium – Usage of loops in Blockly logic, Policy table wildcard match <= 3 fields, MatchList < 3, and 3 < RegEx match < 6
  • High – JSON Operations – Custom, complex Java script code in object Expression/statement expression, Policy table wildcard match > 3 fields, MatchLists >= 3, and RegEx mat >= 6

Call Model

Table 3-100 Traffic distribution

Traffic TPS
Ingress Gateway 6637
Egress Gateway 15988
Diam In 5279
Diam out 1844
Total 29747

Table 3-101 Traffic distribution to Policy databases

Number of Entries TPS
occnp_pcf_sm.AppSession 132704
occnp_pcf_sm.SmPolicyAssociation 434302
occnp_pcf_sm.SmPolicyAssociation$EX 0
occnp_policyds.pdssubscriber 434475
occnp_policyds.pdssubscriber$EX 0
occnp_policyds.pdsprofile 324110
occnp_policyds.pdsprofile$EX 0
occnp_binding.contextbinding 434668
ooccnp_binding.contextbinding$EX 0
occnp_binding.dependentcontextbinding 77294
occnp_binding.dependentcontextbinding$EX 0

Table 3-102 Traffic distribution at Policy services

Policy Service Avg TPS/MPS
Ingress Gateway(MPS) 13294.09
Egress Gateway(MPS) 30644.41
SM Service(MPS) 46777.97
AM Service(MPS) 0.00
UE Service(MPS) 0.00
PDS(MPS) 13115.32
CHF Connector(MPS) 6452.53
UDR Connector(MPS) 3638.04
Binding(MPS) 0.00

Policy Configurations

Following PCF configurations were either enabled or disabled for running this call flow:

Table 3-103 Policy configurations

Name Status
Bulwark Disabled
Binding Disabled
Subscriber State Variable (SSV) Enabled
Validate_user Enabled
Alternate Route Enabled
Audit Enabled
Compression (Binding & SM Service) Disabled
SYSTEM.COLLISION.DETECTION Disabled

Policy Interfaces

Following Policy interfaces were either enabled or disabled for running this call flow:

Table 3-104 Policy interfaces

Feature Name Status
Subscriber Tracing[For 100 subscriber] Enabled
N36 UDR subscription (N7/N15-Nudr) Enabled
UDR on-demand nrf discovery NA
CHF (SM-Nchf) Enabled
BSF (N7-Nbsf) NA
AMF on demand nrf discovery NA
LDAP (Gx-LDAP) NA
Binding Feature Disabled

Infrastructure Details

Table 3-105 Software Details

Applications Versions
Policy 24.1.0
cnDBTier 24.1.0
ASM Disabled
OSO NA
CNE 23.1.1
CNC Console 24.1.0

Table 3-106 Hardware Details

Hardware Details
Environment BareMetal
Server Oracle Server X8-2
Model Intel(R) Xeon(R) Platinum 8260
Clock Speed 2.400 GHz
Total Cores 96
Memory Size 576 GB
Type DDR4 SDRAM
Installed DIMMs 18
Maximum DIMMs 24
Installed Memory 576 GB

Resource Allocation

Table 3-107 Resource Allocation for Policy Microservices

Service Name Replicas CPU Request per Pod (#) CPU Limit per Pod (#) Memory Request per Pod (Gi) Memory Limit per Pod (Gi)
Appinfo 2 1 1 0.5 1
Binding Service 2 6 6 8 8
Diameter Connector 4 4 4 1 2
Diameter Gateway 4 4 4 1 2
Audit Service 1 2 2 4 4
CM Service 1 4 4 0.5 2
Config Service 1 4 4 0.5 2
Egress Gateway 8 4 4 6 6
Ingress Gateway 8 4 4 6 6
NRF Client NF Discovery 1 4 4 0.5 2
NRF Client Management 1 1 1 1 1
Query Service 1 2 2 1 1
PRE 13 4 4 4 4
SM Service 9 8 8 6 6
PDS 8 6 6 6 6
UDR Connector 2 6 6 4 4
CHF Connector/ User Service 2 6 6 4 4

Table 3-108 CnDBTier Resource Allocation

Service Name Replicas CPU Request per Pod (#) CPU Limit per Pod (#) Memory Request per Pod (Gi) Memory Limit per Pod (Gi)
ndbappmysqld 4 12 12 28 28
ndbmgmd 2 4 4 9 12
ndbmtd 8 8 8 42 42
db-infra-monitor-svc 1 200 200 500 500
db-backup-manager-svc 1 100 100 128 128
3.2.1.2 Results

CPU and Memory Utilization

The following section describes the CPU and memory utilization for Policy and cnDBTier microservices.

The average CPU utilization is the ratio between the current usage of resource to the requested resources of the pod i.e., total sum of CPU utilized for service pods / total CPU requested for service pods.

Table 3-109 CPU and Memory Utilization by Policy Microservices

App/ Container CPU Memory
AppInfo 4.00% 25.40%
Diameter Connector 39.80% 75.70%
CHF Connector 57.30% 58.90%
Config Service 2.78% 3.60%
Egress Gateway 47.50% 26.90%
Ingress Gateway 53.60% 42.42%
NRF Client NF Discovery 0.102% 33.59%
NRF Client NF Management 0.214% 41.6%
UDR Connector 25.50% 71.90%
Audit Service 0.669% 46.3%
CM Service 0.38% 34.16%
PDS 48.67% 64.20%
PRE Service 15.9% 49.6%
Query Service 0.0357% 25.12%
AM Service 0.02% 14.96%
SM Service 64.60% 76.23%
UE Service 0.387% 34.57%

Table 3-110 CPU and Memory Utilization by CnDBTier services

Service CPU Memory
ndbappmysqld/mysqlndbcluster 51.50% 44.70%
ndbmgmd/db-infra-monitor-svc 10.30% 16.90%
ndbmtd/mysqlndbcluster 35.1% 72.60%
ndbmtd/db-backup-executor-svc 35.1% 2.32%
ndbmtd/db-infra-monitor-svc 35.1% 13.60%

Latency

Table 3-111 Average latency observations

Scenario Average Latency (ms) Peak Latency (ms)
create-dnn_ims 54.142 66.775
N7-dnn_internet_1st 20.316 22.226
N7-dnn_internet_2nd 23.517 26.133
N7-dnn_internet_3rd 20.071 21.323
delete-dnn_ims 29.722 47.689
Overall 29.554 66.775

Table 3-112 Average NF service latency

NF Service Latency ( In Seconds) Avg
PCF_IGW_Latency 17.45
PCF_POLICYPDS_Latency 16.85
PCF_UDRCONNECTOR_Latency 2.19
PCF_NRFCLIENT_Latency 0.00
PCF_EGRESS_Latency 0.51

3.2.2 Test Scenario: PCF AM/UE Call Model on Two-site Georedundant Setup, with 54K TPS per NFSet (with 54K TPS on only one instance) (with ASM)

This test run benchmarks the performance and capacity of Policy AM/UE data call model that is deployed in PCF mode. The PCF application handles a total traffic (Ingress + Egress) of 54K TPS on one site and there is no traffic on the other site. Application compression was enabled. For this setup, Aspen Service Mesh (ASM) was enabled between Policy services. In this test setup, immediate reporting and stale request cleanup for UE is enabled for 72 hrs.

3.2.2.1 Test Case and Setup Details

Test Case Parameters

The following table describes the test case parameters and their values:

Table 3-113 Testcase Parameters

Parameters Values
Call Rate (Ingress + Egress) 54k on site-1 and no traffic on site-2
ASM Enabled
Traffic Ratio AM- Create-1, AM Delete-1, AM Update- 0.2, UE Create-1, UE Update -0.2, UE Delete-1, N1N2transfer-1, N1subscribe-1, N1Unsubscribe-1
Active Subscribers 8 million subscribers and 16 million sessions
N1N2 Transfer 417
N1N2 Subscribe 417
N1N2 Unsubscribe 417

Policy Project Details:

The Policy Design editor based on the Blockly interface was used to set the Policy project for each of the Policy services. The complexity level of Policy Project configured for this run was High.

Complexity Level Definition:

  • Low– No Usage of Loops in Blockly logic, No JSON operations, No complex Java Script code in Object Expression /Statement Expression.
  • Medium - Usage of Loops in Blockly logic, Policy Table Wildcard match <= 3 fields, MatchList < 3, 3 < RegEx match < 6
  • High - JSON Operations – Custom, complex Java Script code in Object Expression /Statement Expression, Policy Table Wildcard match > 3 fields, MatchLists >= 3, RegEx mat >= 6

Call Model Data

Table 3-114 Traffic distribution per call flow

Call Flow Traffic at Site1
TOTAL-IGW 22.8K
TOTAL-EGW 32.8K (Including N1 Messages)
DIAM-GW-IN-TOTAL NA
DIAM-GW-OUT-TOTAL NA
TOTAL-TPS 54.6K

Following PCF configurations were either enabled or disabled for running this call flow:

Feature Name Configuration
Binlog Enabled
Compression Enabled (AM,UE, PDS)
PRIMARYKEY_LOOKUP_ENABLED Enabled
Enable Immediate Report on Subscription Enabled
Congestion Control Enabled
Overload Control Enabled
Immediate Reporting Enabled
POP 25 Enabled
Stale Request Cleanup Enabled
RAB Enabled
SAC Enabled
SINGLE UE ID Enabled
Location Information Header Enabled
UE Stale Cleanup Disabled
Session Limiting Enabled
Collision Detection set to true in Advanced Settings  
Pending Transaction Enabled (Bulwark)

Infrastructure Details

Infrastructure used for benchmarking Policy performance run is described in this section.

Table 3-115 Hardware Details

Hardware Details
Environment BareMetal
Server ORACLE SERVER X9-2
Model Intel(R) Xeon(R) Platinum 8358 CPU
Clock Speed 2.600 GHz
Total Cores 128
Memory Size 768 GB
Type DDR4 SDRAM
Installed DIMMs 24
Maximum DIMMs 32
Installed Memory 768 GB

Table 3-116 Software Details

Aplications Version
Policy 25.2.201
cnDBTier 25.2.200
ASM 1.14.6
OSO NA
CNE 25.1.200
CNC Console 25.2.200

Table 3-117 Observability Services

Service Names Versions
OpenSearch 2.15.0
Fluentd 1.17.1
Prometheus 3.2.0
Grafana 9.5.3
Jaeger 1.65.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Resource Allocation

Table 3-118 Resource Allocation for Policy Microservices

Microservices CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container Replica
Appinfo 1 1 1Gi 512Mi 1Gi 78Mi 2
Appinfo Istio 2 2 2 2 - - 2
Bulwark service 8 8 6 6 2Gi 78Mi 13
Bulwark service Istio 2500m 2500m 4 4 - - 13
Alternate Route Service 2 2 4 2 4Gi 78Mi 12
Alternate Route Service Istio 2 2 2Gi 2Gi - - 12
CHF Connector 6 6 4 4 4Gi 78Mi 1
CHF Connector Istio 2 2 2 2 - - 1
Config Service 4 2 2 512Mi 2Gi 78Mi 2
Config Service Istio 2 2 2 2 - - 2
Egress Gateway 8 8 6 6 6 78 13
Egress Gateway Istio 4 4 2 2 - - 13
Ingress Gateway 5 5 6 6 6 78 18
Ingress Gateway Istio 2500m 2500m 2 2 - - 18
NRF Client NF Management 1 1 1 1 1 78 2
NRF Client NF Management Istio 2 2 2 2 - - 2
NRF Client NF Discovery 4 4 4 4 1 78 25
NRF Client NF Discovery Istio 2 2 2 2 - - 25
UDR Connector 6 6 4 4 1 78 22
UDR Connector Istio 2 2 2 2 - - 22
Audit Service 2 2 4 4 1 78 2
Audit Service Istio 2 2 2 2 - - 2
CM Service 4 4 2 2 2 78 2
CM Service Istio 2 2 2 2 - - 2
PDS 7 7 8 8 4 78 30
PDS Istio 3 3 4 4 - - 30
PRE 4 4 4 4 2 78 24
PRE Istio 1500m 1500m 2 2 - - 24
Query Service 2 1 1 1 1 78 2
Query Service Istio 2 2 2 2 - - 2
AM Service 8 8 8 8 1 78 28
AM Service Istio 3 3 2 2 - - 28
UE Policy Service 8 8 6 6 1 78 38
UE Policy Service Istio 2 2 2 2 - - 38
PerfInfo 1 1 1 512Mi 1 78 2
PerfInfo Istio 1 1 0.5 0.5 - - 2

Table 3-119 Resource Allocation for cnDBTier Microservices

Microservices Replica CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container
Site1-mysql-cluster-db-backup-manager-svc/istio-proxy 1 1 1 2Gi 2Gi NA NA
Site1-mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 1 1 1Gi 1Gi 1Gi 90Mi
Site1-mysql-cluster-db-monitor-svc/istio-proxy 1 1 1 2Gi 2Gi NA NA
Site1-mysql-cluster-db-monitor-svc/db-monitor-svc 1 4 4 4Gi 4Gi 1Gi 1000Mi
Site1-ndbappmysqld/istio-proxy 16 4 4 2Gi 2Gi NA NA
Site1-ndbappmysqld/mysqlndbcluster 16 12 12 20Gi 20Gi 1Gi 1000Mi
Site1-ndbappmysqld/db-infra-monitor-svc 16 100m 100m 256Mi 256Mi 512Mi 512Mi
Site1-ndbappmysqld/init-sidecar 16 300m 300m 512Mi 512Mi 500Mi 200Mi
Site1-ndbmgmd/istio-proxy 2 1 1 2Gi 2Gi NA NA
Site1-ndbmgmd/mysqlndbcluster 2 4 4 10Gi 8Gi 1Gi 1000Mi
Site1-ndbmgmd/db-infra-monitor-svc 2 100m 100m 256Mi 256Mi 1Gi 90Mi
Site1-ndbmtd/istio-proxy 10 5 5 2Gi 2Gi NA NA
Site1-ndbmtd/mysqlndbcluster 10 12 12 75Gi 75Gi 2Gi 90Mi
Site1-ndbmtd/db-backup-executor-svc 10 1 1 2Gi 2Gi 512Mi 512Mi
Site1-ndbmtd/db-infra-monitor-svc 10 200m 200m 256Mi 256Mi 512Mi 90Mi
Site1-ndbmysqld/istio-proxy 6 1 1 2Gi 2Gi NA NA
Site1-ndbmysqld/mysqlndbcluster 6 4 4 24Gi 24Gi 1Gi 1000Mi
Site1-ndbmysqld/init-sidecar 6 300m 300m 512Mi 512Mi 500Mi 200Mi
Site1-ndbmysqld/db-infra-monitor-svc 6 100m 100m 256Mi 256Mi 512Mi 512Mi
3.2.2.2 Results

CPU and Memory Utilization

The following section describes the CPU and memory utilization by Policy and cnDBTier microservices.

Table 3-120 CPU and Memory Utilization by Policy Microservices

Microservices CPU utilization Memory utilization CPU utilization- ISTIO Memory utilization- ISTIO
ue-service 15.46% 28.07% 28.70% 8.41%
occnp-ingress-gateway 24.45% 41.09% 27.71% 16.73%
bulwark 19.68% 13.17% 34.89% 3.94%
policyds 32.18%) 27.98% 34.44% 4.54%
udr-connector 32.78% 55.22% 52.31% 8.70%
occnp-egress-gateway 26.30% 31.55% 32.27% 8.67%
am-service 20.23% 39.07% 24.60% 8.54%
perf-info 12.30% 14.99% - -
pre-service 9.43% 38.80% 17.44% 8.26%
nrf-client-nfdiscovery 6.81% 36.43% 5.63% 7.64%
config-server 7.85% 37.08% 17.15% 9.67%
appinfo 4.70% 29.10% 0.20% 7.37%
cm-service 0.61% 65.26% 0.90% 6.81%
nrf-client-nfmanagement 0.30% 55.66% 0.12% 10.62%
audit-service 0.12% 22.00% 0.18% 7.03%
queryservice 0.05% 33.79% 0.10% 7.30%
chf-connector 0.10% 29.54% 0.40% 8.11%
occnp-alternate-route 10.73% 20.54% 16.05% 7.39%

Table 3-121 CPU and Memory Utilization by cnDBTier Microservices

Microservices CPU - Site1 Memory - Site1
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 0.45% 8.69%
mysql-cluster-db-monitor-svc/db-monitor-svc 1.00% 33.64%
mysql-cluster-one-two-c1-replication-svc/one-two-c1-replication-svc 0.60% 2.47%
mysql-cluster-one-two-c1-replication-svc/db-infra-monitor-svc 0.50% 20.70%
mysql-cluster-one-two-c2-replication-svc/one-two-c2-replication-svc 0.91% 13.33%
ndbappmysqld/mysqlndbcluster 70.96% 29.98%
ndbappmysqld/db-infra-monitor-svc 1.00% 21.72%
ndbappmysqld/init-sidecar 3.60% 0.39%
ndbmgmd/mysqlndbcluster 0.57% 18.06%
ndbmgmd/db-infra-monitor-svc 1.00% 20.12%
ndbmtd/mysqlndbcluster 27.91% 82.66%
ndbmtd/db-backup-executor-svc 0.05% 2.76%
ndbmtd/db-infra-monitor-svc 7.25% 20.90%
ndbmysqld/mysqlndbcluster 8.12% 21.86%
ndbmysqld/init-sidecar 3.25% 0.59%
ndbmysqld/db-infra-monitor-svc 2.00% 24.02%

Latency

Table 3-122 Average Latency Observations (in milliseconds) for the call flows:

Microservice Average Latency
Ingress 22.0
PDS 15.2
UDR 8.24
NrfClient Discovery 0.348
Egress 3.72
AM 18.1
UE 20.7

Table 3-123 Average Current Percentile Latency Observations (in milliseconds)

METHODS 50th Percentile (Site1) 95th Percentile (Site1)
UE CREATE 20.2 44.5
UE POST 29.177 84.797
UE DELETE 4.261 9.461
AM CREATE 28.3 60.2
AM POST 27.561 84.200
AM DELETE 4.260 9.260

3.2.3 Test Scenario: PCF SM Call Model on Two-Site GeoRedundant Setup with 55K TPS per NFSet (with 55K TPS on only one instance) (with ASM)

This test run benchmarks the performance and capacity of Policy data call model that is deployed in PCF mode. The PCF application handles a total (Ingress+Egress) traffic of 55K TPS, for SM call flows. For this setup Aspen Service Mesh (ASM) was enabled.

3.2.3.1 Test Case and Setup Details

Test Case Parameters

The following table describes the test case parameters and their values:

Table 3-124 Testcase Parameters

Parameters Values
Call Rate (Ingress + Egress) 55K TPS on one instance in a two site geo-redundant setup
Execution Time 10 hours
ASM 1.14.6
Traffic Ratio Old Call Model
  • Internet: SM 1-Create 15-update 1-delete
  • IMS: SM 1-Create 8-update 1-delete
  • Application: SM 1-Create 0-update 1-delete
  • Administrator: SM 1-Create 0-update 1-delete
New Call Model
  • Internet: SM 1-Create 217-update 1-delete
  • IMS: SM 1-Create 94-update 1-delete
  • Application: SM 1-Create 0-update 1-delete
  • Administrator: SM 1-Create 0-update 1-delete
Active Subscribers 15M Subscribers / 30M sessions

Policy Project Details:

The Policy Design editor based on the Blockly interface was used to set the Policy project for each of the Policy services. The complexity level of Policy Project configured for this run was High.

Complexity Level Definition:

  • Low– No Usage of Loops in Blockly logic, No JSON operations, No complex Java Script code in Object Expression /Statement Expression.
  • Medium - Usage of Loops in Blockly logic, Policy Table Wildcard match <= 3 fields, MatchList < 3, 3 < RegEx match < 6
  • High - JSON Operations – Custom, complex Java Script code in Object Expression /Statement Expression, Policy Table Wildcard match > 3 fields, MatchLists >= 3, RegEx mat >= 6

Call Model Data

Table 3-125 Call Model Data

Services TPS
Total HTTP Ingress 41.9K
Total HTTP Egress 6.86K
Diameter Gateway In 4.33K
Diameter Gateway Out 1.77K

Following PCF configurations were either enabled or disabled for running this call flow:

Table 3-126 PCF Configurations

   
Local SSV Enabled
On Demand Discovery UDR (UDR Group ID) Enabled
Application based Compression (SM & PDS) Enabled
Overload Control Enabled
Single_UE_ID_PREFERENTIAL_SEARCH Enabled
Non-SUPI based On-Demand Discovery Caching Enabled
Congestion Control Enabled

Infrastructure Details

Table 3-127 Software Details

Aplications Version
Policy 25.2.201
cnDBTier 25.2.201
ASM 1.14.6
OSO 25.2.201
CNE 25.1.200
CNC Console 25.2.200

Table 3-128 Observability Services

Service Names Versions
OpenSearch 2.15.0
Fluentd 1.17.1
Prometheus 3.2.0
Grafana 9.5.3
Jaeger 1.65.0

For more information about Policy Installation, see Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide.

Table 3-129 Hardware Details

Hardware Details
Environment BareMetal
Server Oracle Server X9-2
Model Intel(R) Xeon(R) Platinum 8358
Clock Speed 2.600 GHz
Total Cores 128
Memory Size 768 GB
Type DDR4 SDRAM
Installed DIMMs 24
Maximum DIMMs 32
Installed Memory 768 GB

Resource Allocation

Table 3-130 Resource Allocation for Policy Microservices

Microservices Replicas CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container
ocpcf-appinfo/istio-proxy 2 1.1 1.1 2Gi 2Gi NA NA
ocpcf-appinfo/appinfo 2 1100m 1100m 1Gi 1Gi 1Gi 78Mi
ocpcf-bulwark/istio-proxy 22 4 4 2Gi 2Gi NA NA
ocpcf-bulwark/bulwark 22 8 8 6Gi 6Gi 2Gi 78Mi
ocpcf-oc-binding/istio-proxy 11 4 4 2Gi 2Gi NA NA
ocpcf-oc-binding/binding 11 6 6 8Gi 8Gi 4Gi 78Mi
ocpcf-oc-diam-connector/istio-proxy 5 2 2 2Gi 2Gi NA NA
ocpcf-oc-diam-connector/diam-connector 5 4 4 2Gi 2Gi 2Gi 78Mi
ocpcf-occnp-alternate-route/istio-proxy 7 2 2 2Gi 2Gi NA NA
ocpcf-occnp-alternate-route/occnp-alternate-route 7 2 2 4Gi 4Gi 1Gi 78Mi
ocpcf-occnp-chf-connector/istio-proxy 3 4 4 2Gi 2Gi NA NA
ocpcf-occnp-chf-connector/user-service 3 6 6 6Gi 6Gi 4Gi 78Mi
ocpcf-occnp-config-server/istio-proxy 2 2 2 2Gi 2Gi NA NA
ocpcf-occnp-config-server/config-server 2 4 4 2Gi 2Gi 2Gi 78Mi
ocpcf-occnp-egress-gateway/istio-proxy 7 4 4 2Gi 2Gi NA NA
ocpcf-occnp-egress-gateway/occnp-egress-gateway 7 8 8 6Gi 6Gi 6Gi 78Mi
ocpcf-occnp-ingress-gateway/istio-proxy 28 4 4 2Gi 2Gi NA NA
ocpcf-occnp-ingress-gateway/occnp-ingress-gateway 28 6 6 6Gi 6Gi 6Gi 78Mi
ocpcf-occnp-nrf-client-nfdiscovery/istio-proxy 3 2 2 2Gi 2Gi NA NA
ocpcf-occnp-nrf-client-nfdiscovery/nrf-client-nfdiscovery 3 4 4 6Gi 6Gi 1Gi 78Mi
ocpcf-occnp-nrf-client-nfmanagement/istio-proxy 2 2 2 2Gi 2Gi NA NA
ocpcf-occnp-nrf-client-nfmanagement/nrf-client-nfmanagement 2 2 2 1Gi 1Gi 1Gi 78Mi
ocpcf-occnp-udr-connector/istio-proxy 3 4 4 2Gi 2Gi NA NA
ocpcf-occnp-udr-connector/user-service 3 6 6 4Gi 4Gi 4Gi 78Mi
ocpcf-ocpm-audit-service/istio-proxy 2 2 2 2Gi 2Gi NA NA
ocpcf-ocpm-audit-service/audit-service 2 2 2 4Gi 4Gi 1Gi 78Mi
ocpcf-ocpm-cm-service/istio-proxy 2 2 2 2Gi 2Gi NA NA
ocpcf-ocpm-cm-service/cm-service 2 4 4 2Gi 2Gi 2Gi 78Mi
ocpcf-ocpm-policyds/istio-proxy 27 4 4 4Gi 4Gi NA NA
ocpcf-ocpm-policyds/policyds 27 8 8 8Gi 8Gi 4Gi 78Mi
ocpcf-ocpm-pre/istio-proxy 39 2 2 2Gi 2Gi NA NA
ocpcf-ocpm-pre/pre-service 39 4 4 4Gi 4Gi 2Gi 78Mi
ocpcf-ocpm-queryservice/istio-proxy 2 2 2 2Gi 2Gi NA NA
ocpcf-ocpm-queryservice/queryservice 2 2 2 1Gi 1Gi 1Gi 78Mi
ocpcf-pcf-smservice/istio-proxy 63 4 4 2Gi 2Gi NA NA
ocpcf-pcf-smservice/sm-service 63 8 8 10Gi 10Gi 4Gi 78Mi
ocpcf-performance/istio-proxy 2 2 2 2Gi 2Gi NA NA
ocpcf-performance/perf-info 2 2 2 1Gi 1Gi 1Gi 78Mi
ocncc-iam-kc/istio-proxy 1 2 2 2Gi 2Gi NA NA
ocncc-iam-kc/healthcheck 1 1100m 1100m 512Mi 290Mi 1102Mi 57Mi
ocncc-iam-kc/iam-kc 1 2 2 2Gi 2Gi 1102Mi 57Mi
ocpcf-oc-diam-gateway/istio-proxy 4 2 2 2Gi 2Gi NA NA
ocpcf-oc-diam-gateway/diam-gateway 4 4 4 2Gi 2Gi 2Gi 78Mi

Table 3-131 Resource Allocation for cnDBTier Microservices

Microservices Replicas CPU Limit per Container CPU Request per Container Memory Limit per Container Memory Request per Container Ephemeral Storage Limit per Container Ephemeral Storage Request per Container
mysql-cluster-db-backup-manager-svc/istio-proxy 1 1.1 1.1 2Gi 2Gi NA NA
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 1 1100m 1100m 1Gi 1Gi 1Gi 200Mi
mysql-cluster-db-monitor-svc/istio-proxy 1 2 2 2Gi 2Gi NA NA
mysql-cluster-db-monitor-svc/db-monitor-svc 1 4 4 4Gi 4Gi 1Gi 90Mi
ndbappmysqld/istio-proxy 18 4000m 4000m 2Gi 2Gi NA NA
ndbappmysqld/mysqlndbcluster 18 12 12 18Gi 18Gi 1Gi 200Mi
ndbappmysqld/db-infra-monitor-svc 18 200m 200m 256Mi 256Mi 1Gi 200Mi
ndbappmysqld/init-sidecar 18 100m 100m 256Mi 256Mi 500Mi 200Mi
ndbmgmd/istio-proxy 2 1.1 1.1 2Gi 2Gi NA NA
ndbmgmd/mysqlndbcluster 2 3100m 3100m 10Gi 10Gi 1Gi 200Mi
ndbmgmd/db-infra-monitor-svc 2 200m 200m 256Mi 256Mi 1Gi 200Mi
ndbmtd/istio-proxy 10 4000m 4000m 2Gi 2Gi NA NA
ndbmtd/mysqlndbcluster 10 10 10 116Gi 116Gi 2100Mi 2000Mi
ndbmtd/db-backup-executor-svc 10 2 2 2Gi 2Gi 512Mi 512Mi
ndbmtd/db-infra-monitor-svc 10 200m 200m 256Mi 256Mi 1Gi 200Mi
ndbmysqld/istio-proxy 12 4 4 2Gi 2Gi NA NA
ndbmysqld/mysqlndbcluster 12 4 4 24Gi 24Gi 1Gi 200Mi
ndbmysqld/init-sidecar 12 100m 100m 256Mi 256Mi 500Mi 200Mi
ndbmysqld/db-infra-monitor-svc 12 200m 200m 256Mi 256Mi 1Gi 200Mi
3.2.3.2 Results

CPU and Memory Utilization

This section lists the CPU utilization for Policy and cnDBTier microservices. The CPU utilization is the ratio between the total CPU utilization against total CPU request (X) versus target CPU Utilization (Y) configured for the pod.

Table 3-132 CPU and Memory Utilization by Policy Microservices

Microservices CPU Site1 Memory Site1 CPU Site2 Memory Site2
ocpcf-occnp-egress-gateway/occnp-egress-gateway 11.92% 43.79%
ocpcf-occnp-ingress-gateway/istio-proxy 22.08% 10.48%
ocpcf-occnp-ingress-gateway/occnp-ingress-gateway 28.20% 42.19%
ocpcf-occnp-nrf-client-nfdiscovery/istio-proxy 1.70% 9.93%
ocpcf-occnp-nrf-client-nfdiscovery/nrf-client-nfdiscovery 1.64% 14.62%
ocpcf-occnp-nrf-client-nfmanagement/istio-proxy 0.18% 8.30%
ocpcf-occnp-nrf-client-nfmanagement/nrf-client-nfmanagement 0.18% 44.04%
ocpcf-occnp-udr-connector/istio-proxy 8.09% 9.16%
ocpcf-occnp-udr-connector/user-service 8.69% 22.53%
ocpcf-ocpm-audit-service/istio-proxy 2.17% 9.11%
ocpcf-ocpm-audit-service/audit-service 1.77% 36.29%
ocpcf-ocpm-cm-service/istio-proxy 0.97% 8.59%
ocpcf-ocpm-cm-service/cm-service 0.61% 47.95%
ocpcf-ocpm-policyds/istio-proxy 19.18% 5.14%
ocpcf-ocpm-policyds/policyds 19.31% 20.79%
ocpcf-ocpm-pre/istio-proxy 15.82% 9.64%
ocpcf-ocpm-pre/pre-service 48.32% 59.02%
ocpcf-ocpm-queryservice/istio-proxy 1.52% 8.45%
ocpcf-ocpm-queryservice/queryservice 3.23% 37.16%
ocpcf-pcf-smservice/istio-proxy 30.98% 11.29%
ocpcf-pcf-smservice/sm-service 39.04% 30.88%
ocpcf-performance/istio-proxy 0.60% 7.84%
ocpcf-performance/perf-info 8.92% 14.99%
ocpcf-appinfo/istio-proxy 0.50% 9.25%
ocpcf-appinfo/appinfo 6.09% 29.44%
ocpcf-bulwark/istio-proxy 24.54% 9.48%
ocpcf-bulwark/bulwark 32.42% 14.89%
ocpcf-oc-binding/istio-proxy 7.81% 10.54%
ocpcf-oc-binding/binding 7.58% 12.04%
ocpcf-oc-diam-connector/istio-proxy 22.95% 11.05%
ocpcf-oc-diam-connector/diam-connector 17.23% 42.48%
ocpcf-occnp-alternate-route/istio-proxy 3.17% 8.93%
ocpcf-occnp-alternate-route/occnp-alternate-route 2.29% 18.12%
ocpcf-occnp-chf-connector/istio-proxy 4.08% 9.00%
ocpcf-occnp-chf-connector/user-service 3.58% 11.86%
ocpcf-occnp-config-server/istio-proxy 11.38% 12.01%
ocpcf-occnp-config-server/config-server 8.91% 37.11%
ocpcf-occnp-egress-gateway/istio-proxy 15.37% 14.54%  

Table 3-133 CPU and Memory Utilization by cnDBTier Microservices

Microservices CPU Site1 Memory Site1 CPU Site2 Memory Site2
mysql-cluster-db-backup-manager-svc/istio-proxy 0.30% 8.59%
mysql-cluster-db-backup-manager-svc/db-backup-manager-svc 0.09% 7.32%
mysql-cluster-db-monitor-svc/istio-proxy 0.20% 7.71%
mysql-cluster-db-monitor-svc/db-monitor-svc 0.62% 22.90%
ndbappmysqld/istio-proxy 35.95% 10.53%
ndbappmysqld/mysqlndbcluster 36.53% 27.78%
ndbappmysqld/db-infra-monitor-svc 0.97% 21.29%
ndbappmysqld/init-sidecar 2.00% 0.39%  

Latency

Table 3-134 Average Current Percentile Latency Observations (in milliseconds)

METHODS 50th Percentile (Site1) 99th Percentile (Site1)
SM POST 71.538 215.557
SM DELETE 19.334 63.399