From 01f67429bd97f4078b018ccc7c0ceb0b1bfe8379 Mon Sep 17 00:00:00 2001 From: lapentafd Date: Tue, 30 Mar 2021 15:18:12 +0100 Subject: Honululu Api Performance Run Results Appending Performance results Issue-ID: POLICY-3112 Change-Id: I50df1aed416916966b2fe8cc1a7783315d221763 Signed-off-by: lapentafd --- docs/development/devtools/api-s3p.rst | 56 ++++++++++++++++++--- ...pi-response-time-distribution_performance_H.png | Bin 0 -> 43424 bytes .../api-response-time-overtime_performance_H.png | Bin 0 -> 98822 bytes .../development/devtools/images/api-s3p-jm-2_H.png | Bin 0 -> 239998 bytes 4 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 docs/development/devtools/images/api-response-time-distribution_performance_H.png create mode 100644 docs/development/devtools/images/api-response-time-overtime_performance_H.png create mode 100644 docs/development/devtools/images/api-s3p-jm-2_H.png (limited to 'docs') diff --git a/docs/development/devtools/api-s3p.rst b/docs/development/devtools/api-s3p.rst index 439719be..55867b44 100644 --- a/docs/development/devtools/api-s3p.rst +++ b/docs/development/devtools/api-s3p.rst @@ -135,14 +135,54 @@ average a 10 seconds plus response time. Performance Test of Policy API ++++++++++++++++++++++++++++++ -A specific performance test was omitted in Honululu (as in Guilin). The JMeter script used in the stability run injected -back to back traffic with 5 parallel threads with no pauses between requests. Since the JMeter threads operate -in synchronous mode (waiting for a request's response before sending the next request), JMeter injection rates autoregulate -because of the backpressure imposed by the response times. Even though the response times are high, the -"Response over Time" graph above indicates that they remain constant at large, throughout the duration of the test. -This together with the absence of notorious spikes in the kubernetes node CPU utilization suggests that the API -component is not strained. A more enlightning set of tests, would plot jmeter threads (increasing load) -against response times. These tests have not been performed in this release. +Introduction +------------ + +Performance test of policy-api has the goal of testing the min/avg/max processing time and rest call throughput for all the requests when the number of requests are large enough to saturate the resource and find the bottleneck. + +Setup Details +------------- + +The performance test was performed on a default ONAP OOM installation in the Intel Wind River Lab environment. +JMeter was installed on a separate VM to inject the traffic defined in the +`API performace script +`_ +with the following command: + +.. code-block:: bash + + jmeter.sh --nongui --testfile policy_api_performance.jmx --logfile result.jtl + + +Test Plan +--------- + +Performance test plan is the same as stability test plan above. +Only differences are, in performance test, we increase the number of threads up to 20 (simulating 20 users' behaviors at the same time) whereas reducing the test time down to 2.5 hours. + +Run Test +-------- + +Running/Triggering performance test will be the same as stability test. That is, launch JMeter pointing to corresponding *.jmx* test plan. The *API_HOST* and *API_PORT* are already set up in *.jmx*. + +**Test Statistics** + +======================= ============= =========== =============================== =============================== =============================== +**Total # of requests** **Success %** **TPS** **Avg. time taken per request** **Min. time taken per request** **Max. time taken per request** +======================= ============= =========== =============================== =============================== =============================== + 4082 100% 0.45 1297 ms 4 ms 63612 ms +======================= ============= =========== =============================== =============================== =============================== + +.. image:: images/api-s3p-jm-2_H.png + +Test Results +------------ + +The following graphs show the response time distributions. + +.. image:: images/api-response-time-distribution_performance_H.png +.. image:: images/api-response-time-overtime_performance_H.png + diff --git a/docs/development/devtools/images/api-response-time-distribution_performance_H.png b/docs/development/devtools/images/api-response-time-distribution_performance_H.png new file mode 100644 index 00000000..68a5c79e Binary files /dev/null and b/docs/development/devtools/images/api-response-time-distribution_performance_H.png differ diff --git a/docs/development/devtools/images/api-response-time-overtime_performance_H.png b/docs/development/devtools/images/api-response-time-overtime_performance_H.png new file mode 100644 index 00000000..63fc859a Binary files /dev/null and b/docs/development/devtools/images/api-response-time-overtime_performance_H.png differ diff --git a/docs/development/devtools/images/api-s3p-jm-2_H.png b/docs/development/devtools/images/api-s3p-jm-2_H.png new file mode 100644 index 00000000..da9d1e92 Binary files /dev/null and b/docs/development/devtools/images/api-s3p-jm-2_H.png differ -- cgit 1.2.3-korg