Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Summarizes a performance comparison between Linux and Windows environments. Here's the analysis and conclusion based on the metrics:


Test Environment

Linux

Windows

CPU (%)

113.98 

268.01  

Memory  (MB)

522 

497.3

Network data sent (MB)

59.6

120

Network data received (MB)

113

168

Total number of threads

360-361

358-362

1st kaka message forwarded (HH:MM:SS)

13:49:25

14:56:33

Last kaka message forwarded (HH:MM:SS)

13:49:28

14:56:39

Consumption rate (Messages / second)

33,333

16,667

Kafka Consumer Performance on Linux:

...

If high throughput and CPU efficiency are critical, Linux would be the better environment for this application based on these metrics.

Test Environment


#

Environment/Workload

Description

1Tested on Linux

Laptop :                Dell Inc. XPS 15 9530
Processor :           13th Gen Intel® Core™ i9-13900H × 20           
Installed RAM :    32.0 GiB 
Edition :               Fedora Linux 40 (Workstation Edition)u

2Tested on Windows

Laptop :                Lenovo ThinkPad
Processor :            11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz   2.42 GHz
Installed RAM  :    40.0 GB (39.7 GB usable)
Edition :                Windows 11 Pro

2Number of CPS Instance

1


NCMP resource config
deploy:
replicas: 1
resources:
reservations:
cpus: '2'
memory: 2G
limits:
cpus: '3'
memory: 3G

Code Block
themeConfluence
titleDescription
collapsetrue
This YAML snippet is a CPS resource configuration for deploying a service or containerized application. It defines the resource allocations and limits for the deployment, possibly for a container orchestrator like Kubernetes or Docker Swarm.

Here's a breakdown of the configuration:

replicas: 1: Specifies that there should be 1 replica of this deployment (only one instance will run).

resources: Defines the resource requests and limits for CPU and memory.

reservations: The minimum amount of resources guaranteed for the container.
cpus: '2': The container requests 2 CPUs.
memory: 2G: The container requests 2GB of memory.
limits: The maximum amount of resources the container can use.
cpus: '3': The container can use up to 3 CPUs.
memory: 3G: The container can use up to 3GB of memory.
This configuration ensures that the container will always have at least 2 CPUs and 2GB of memory but can scale up to 3 CPUs and 3GB of memory when needed. If it tries to exceed those limits, it might be throttled or killed by the orchestrator, depending on the setup.



Kafka Topic configuration


Code Block
collapsetrue
cmNotificationTopic:
    enabled: false
    groupId: cm_events
    topic: "dmi-cm-events"
    sendTimeout: 5000



Publishing topic name
dmi-cm-events

Forwarded topic name
cm-events
4Total number of Cm Avc cloud events

100,000    (kafka messages)

5

Cloud event headers


Code Block
languagejs
titleCloud Event Headers
linenumberstrue
collapsetrue
 "ce_type": "org.onap.cps.ncmp.events.avc1_0_0.AvcEvent",
 "ce_source": "DMI",
 "ce_destination": "dmi-cm-events",
 "ce_specversion": "1.0",
 "ce_time": new Date().toISOString(),
 "ce_id": crypto.randomUUID(),
 "ce_dataschema": "urn:cps:org.onap.cps.ncmp.events.avc1_0_0.AvcEvent:1.0.0",
 "ce_correlationid": crypto.randomUUID() 
  


6Kafka payload 


Code Block
languagejs
titleSampleAvcInputEvent.json
collapsetrue
{
  "data": {
    "push-change-update": {
      "datastore-changes": {
        "ietf-yang-patch:yang-patch": {
          "patch-id": "34534ffd98",
          "edit": [
            {
              "edit-id": "ded43434-1",
              "operation": "replace",
              "target": "ran-network:ran-network/NearRTRIC[@id='22']/GNBCUCPFunction[@id='cucpserver2']/NRCellCU[@id='15549']/NRCellRelation[@id='14427']",
              "value": {
                "attributes": []
              }
            },
            {
              "edit-id": "ded43434-2",
              "operation": "create",
              "target": "ran-network:ran-network/NearRTRIC[@id='22']/GNBCUCPFunction[@id='cucpserver1']/NRCellCU[@id='15548']/NRCellRelation[@id='14426']",
              "value": {
                "attributes": [
                  {
                    "isHoAllowed": false
                  }
                ]
              }
            },
            {
              "edit-id": "ded43434-3",
              "operation": "delete",
              "target": "ran-network:ran-network/NearRTRIC[@id='22']/GNBCUCPFunction[@id='cucpserver1']/NRCellCU[@id='15548']/NRCellRelation[@id='14426']"
            }
          ]
        }
      }
    }
  }
}


8Number of DMI Plugin stub1
9Commit ID 81eb7dfc2f100a72692d2cbd7ce16540ee0a0fd4
10Commit ID linkhttps://gerrit.onap.org/r/gitweb?p=cps.git;a=commit;h=81eb7dfc2f100a72692d2cbd7ce16540ee0a0fd4
11K6 script (to publish cloud events)

..\cps\k6-tests\once-off-test\kafka\produce-avc-event.js