diff options
Diffstat (limited to 'performanceTests/README.md')
-rw-r--r-- | performanceTests/README.md | 65 |
1 files changed, 50 insertions, 15 deletions
diff --git a/performanceTests/README.md b/performanceTests/README.md index 775923da..ba78b14e 100644 --- a/performanceTests/README.md +++ b/performanceTests/README.md @@ -22,27 +22,33 @@ The architecture consists of three parts: * Prometheus - collects metrics from VES Collector and NodeExporter * InfluxDB - collects metrics from Collectd and tests results from JMeter * Grafana - displays all metrics collected from Prometheus and Influxdb + * DMaaP Simulator - collects events from VES Collector and calculates VES processing time (Client -> VES -> DMaaP) * User environment - local environment with VES repository downloaded, from which: * test environment can be set up * test can be executed # Usage 1. Prerequisites -- K8s environment with: - - ONAP installed - - VES Collector with Maven profile `buildForPerfTests` enabled (See `How to setup VES for performance tests` section) -- VM with minimum 16GB RAM and 4 cores + - K8s environment with: + - ONAP installed + - VES Collector with Maven profile `buildForPerfTests` enabled (See `How to set up VES for performance tests` section) + - DMaaP Simulator docker image available (See `How to set up DMaaP Simulator for performance tests` section) + - VM with minimum 30GB RAM, 8 cores, 35000 pid_max, 70000 max_map_count (How to setup pid_max and max_map_count https://stackoverflow.com/questions/34452302/how-to-increase-maximum-number-of-jvm-threads-linux-64bit) + - K8s environment and VM should have synchronized clocks - set the same NTP Server on all K8s worker nodes and VM 2. Setup -- Edit `enrivonment.config` file to match your environment: - - RKE_NODE_USER_AND_HOSTNAME - user and hostname for ssh connection to RKE node - - RKE_PRIVATE_KEY - private key for ssh connection to RKE node - - WORKER_IP - IP address to any of K8s worker nodes - - JMETER_VM_USER_AND_HOSTNAME - user and hostname for ssh connection to VM - - JMETER_VM_PRIVATE_KEY - private key for ssh connection to VM - - TEST_SCENARIO_FILE - name of test scenario file to be executed. Available test scenarios are located in `performanceTests/environment/jmeterVM/jmeter` -- Install performance tests environment: - - `make all` - copies all files to K8s and VM, installs all components and prints links to Grafana and Prometheus GUI + - Edit `enrivonment.config` file to match your environment: + - RKE_NODE_USER_AND_HOSTNAME - user and hostname for ssh connection to RKE node + - RKE_PRIVATE_KEY - private key for ssh connection to RKE node + - WORKER_IP - IP address to any of K8s worker nodes + - JMETER_VM_USER_AND_HOSTNAME - user and hostname for ssh connection to VM + - JMETER_VM_PRIVATE_KEY - private key for ssh connection to VM + - DMAAP_SIMULATOR_IMAGE - DMaaP Simulator image available in K8s environment (See `How to set up DMaaP Simulator for performance tests` section) + - TEST_SCENARIO_FILE - name of test scenario file to be executed. Available test scenarios are located in `performanceTests/environment/jmeterVM/jmeter/testScenarios` + - Install performance tests environment: + - `make all` - copies all files to K8s and VM, installs all components and prints links to Grafana and Prometheus GUI + - Change DMaaP address for Fault Events in VES to DMaaP Simulator + - See `How to change DMaaP address for Fault Events in VES` 3. Performance test execution - `make execute-test` - triggers JMeter on VM to execute performance test scenario defined in `enrivonment.config` @@ -55,7 +61,7 @@ The architecture consists of three parts: - `make restart` - recreates performance tests environment from scratch by invoking `make clear` and `make all` -# How to setup VES for performance tests +# How to set up VES for performance tests The VES image being tested must have the buildForPerfTests profile enabled. 1. Build VES Collector with buildForPerfTests profile enabled: @@ -79,4 +85,33 @@ The VES image being tested must have the buildForPerfTests profile enabled. image: <IMAGE_NAME_FROM_REPOSITORY> imagePullPolicy: IfNotPresent ``` - - after saving changes VES Collector pod should restarted automatically
\ No newline at end of file + - after saving changes VES Collector pod should restarted automatically + + +# How to set up DMaaP Simulator for performance tests +Currently, DMaaP Simulator is not contributed to ONAP, but its image is available on ONAP wiki. +It's not available in any public docker repository, thus you need to make it available in your environment. + +How to do so: +- Download compressed image from +https://wiki.onap.org/display/DW/VES+Collector+Performance+Test?linked=true#VESCollectorPerformanceTest-DMaaPSimulator +- Extract image `docker load < ves-dmaa-simulator-image.tar` +- Now it's ready to push it to your docker repository for example JFrog Artifactory + + +# How to change DMaaP address for Fault Events in VES +Currently, we use only Fault Events in performance tests. + +- Open VES configuration in Consul GUI in web browser http://<Worker_IP>:30270/ui/#/dc1/kv/dcae-ves-collector/edit +- Edit configuration `streams_publishes.ves-fault.dmaap_info.topic_url`, change IP and PORT to `ves-dmaap-simulator:3904`, as below: +``` + "ves-fault": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://ves-dmaap-simulator:3904/events/unauthenticated.SEC_FAULT_OUTPUT/" + } + } +``` +- Click `Update` button +- Restart VES pod + |