Skip to content

Latest commit

 

History

History
87 lines (68 loc) · 4.76 KB

File metadata and controls

87 lines (68 loc) · 4.76 KB

Setup

The described setup will work stable for setups with:

  • around 9900 updates/s for the ngsi-ld endpoint
  • around 12 500 single value updates/s for the v2 endpoint

Detailed reports can be found here:

Environment

Installation

⚠️ Be aware that mongo uses a node-affinity configuration in this config. Due to the resource requirements of the single instances, we select the nodes by the label "workload=mongo". You can set node labels via kubectl label nodes <NODE_NAME> workload=mongo on k8s or oc label node <NODE_NAME> workload=mongo in an openshift environment.

Add helm repos:

helm repo add fiware https://fiware.github.io/helm-charts
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add timescale https://charts.timescale.com
helm repo update

Install charts:

helm install mongo bitnami/mongodb -f config/mongo.yaml --namespace fiware
helm install timescale timescale/timescaledb-single -f config/timescale.yaml --version v0.7.1 --namespace fiware
helm install orion-test fiware/orion -f config/orion.yaml --namespace fiware

Optimizations: To improve performance, you should set an index on the mongodb as following:

kubectl run --namespace fiware mongo-mongodb-client --rm --tty -i --restart='Never' --env="MONGODB_ROOT_PASSWORD=$MONGODB_ROOT_PASSWORD" --image docker.io/bitnami/mongodb:4.4.2-debian-10-r0 --command -- bash
mongo admin --host "mongo-mongodb-0.mongo-mongodb-headless.fiware.svc.cluster.local:27017,mongo-mongodb-1.mongo-mongodb-headless.fiware.svc.cluster.local:27017"
> use orion
> db.entities.createIndex({"_id.servicePath": 1, "_id.id": 1, "_id.type": 1});

Run test:

helm install orion-ldt ../../helm/orion-loadtest/ -n fiware -f ./testReports/orion/mid/reports/<ENDPOINT>/<SCENARIO>/test.yaml

Get the results:

kubectl proxy --port 8002

to see a local report go to http://localhost:8002/api/v1/namespaces/fiware/services/orion-ldt-orion-loadtest:8080/proxy/ or click this report link when running locally