From 5af1c790c9d862ec9b808e97246dd8bbb82bcbb8 Mon Sep 17 00:00:00 2001 From: jhh Date: Mon, 29 Mar 2021 15:30:29 -0500 Subject: s3p stability xacml-pdp documentation Issue-ID: POLICY-3108 Signed-off-by: jhh Change-Id: I223016a6ef462cb33c2b365837a9bdda9ce075f8 (cherry picked from commit 54525204a79cd5e1933a3bd5b3424b9cf420dddc) --- docs/development/devtools/xacml-s3p.rst | 81 ++++++++++----------------------- 1 file changed, 25 insertions(+), 56 deletions(-) (limited to 'docs') diff --git a/docs/development/devtools/xacml-s3p.rst b/docs/development/devtools/xacml-s3p.rst index 74369fc2..2ebbf484 100644 --- a/docs/development/devtools/xacml-s3p.rst +++ b/docs/development/devtools/xacml-s3p.rst @@ -10,7 +10,7 @@ Policy XACML PDP component ########################## -Both the Performance and the Stability tests were executed by performing requests +The stability test was executed by performing requests against the Policy RESTful APIs residing on the XACML PDP installed in the windriver lab. This was running on a kubernetes pod having the following configuration: @@ -18,34 +18,40 @@ lab. This was running on a kubernetes pod having the following configuration: - 8 VCPU - 160GB Disk -Both tests were run via jmeter, which was installed on a separate VM so-as not +The test was run via jmeter, which was installed on a separate VM so-as not to impact the performance of the XACML-PDP being tested. -Performance Test of Policy XACML PDP + +Stability Test of Policy XACML PDP ************************************ Summary ======= -The Performance test was executed, and the result analyzed, via: +The stability 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 +`XACML PDP stability script +`_ +with the following command: .. code-block:: bash - jmeter -Jduration=1200 -Jusers=10 \ - -Jxacml_ip=$ip -Jpap_ip=$ip -Japi_ip=$ip \ - -Jxacml_port=31104 -Jpap_port=32425 -Japi_port=30709 \ - -n -t perf.jmx - - ./result.sh + jmeter.sh -Jduration=259200 -Jusers=2 -Jxacml_ip=$ip -Jpap_ip=$ip -Japi_ip=$ip \ + -Jxacml_port=31104 -Jpap_port=32425 -Japi_port=30709 --nongui --testfile stability.jmx Note: the ports listed above correspond to port 6969 of the respective components. -The performance test, perf.jmx, runs the following, all in parallel: +The default log level of the root and org.eclipse.jetty.server.RequestLog loggers in the logback.xml +of the XACML PDP +(om/kubernetes/policy/components/policy-xacml-pdp/resources/config/logback.xml) +was set to ERROR since the OOM installation did not have log rotation enabled of the +container logs in the kubernetes worker nodes. -- Healthcheck, 10 simultaneous threads -- Statistics, 10 simultaneous threads -- Decisions, 10 simultaneous threads, each running the following in sequence: +The stability test, stability.jmx, runs the following, all in parallel: +- Healthcheck, 2 simultaneous threads +- Statistics, 2 simultaneous threads +- Decisions, 2 simultaneous threads, each running the following tasks in sequence: - Monitoring Decision - Monitoring Decision, abbreviated - Naming Decision @@ -54,7 +60,7 @@ The performance test, perf.jmx, runs the following, all in parallel: - Frequency Limiter Guard Decision - Min/Max Guard Decision -When the script starts up, it uses policy-api to create, and policy-pap to deploy, +When the script starts up, it uses policy-api to create, and policy-pap to deploy the policies that are needed by the test. It assumes that the "naming" policy has already been created and deployed. Once the test completes, it undeploys and deletes the policies that it previously created. @@ -62,50 +68,13 @@ the policies that it previously created. Results ======= -The test was run for 20 minutes at a time, for different numbers of users (i.e., -threads), with the following results: - -.. csv-table:: - :header: "Number of Users", "Throughput (requests/second)", "Average Latency (ms)" - - 10, 6064, 4.1 - 20, 6495, 7.2 - 40, 6457, 12.2 - 80, 5803, 21.3 - - -Stability Test of Policy XACML PDP -************************************ - -Summary -======= - -The stability 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 -`XACML PDP stability script -`_ -with the following command: - -.. code-block:: bash - - jmeter.sh -Jduration=259200 -Jusers=2 -Jxacml_ip=$ip -Jpap_ip=$ip -Japi_ip=$ip \ - -Jxacml_port=31104 -Jpap_port=32425 -Japi_port=30709 --nongui --testfile stability.jmx - -The default log level of the root and org.eclipse.jetty.server.RequestLog loggers in the logback.xml -of the XACML PDP -(om/kubernetes/policy/components/policy-xacml-pdp/resources/config/logback.xml) -was set to ERROR since the OOM installation did not have log rotation enabled of the -container logs in the kubernetes worker nodes. - -Results -======= - -The stability summary results were reported by JMeter with the following line: +The stability summary results were reported by JMeter with the following summary line: .. code-block:: bash - 2020-10-23 19:44:31,515 INFO o.a.j.r.Summariser: summary = 1061746369 in 72:00:16 = 4096.0/s Avg: 0 Min: 0 Max: 2584 Err: 0 (0.00%) + summary = 207771010 in 72:00:01 = 801.6/s Avg: 6 Min: 0 Max: 411 Err: 0 (0.00%) -The XACML PDP offered good performance with JMeter for the traffic mix described above, creating 4096 threads per second +The XACML PDP offered good performance with JMeter for the traffic mix described above, using 801 threads per second to inject the traffic load. No errors were encountered, and no significant CPU spikes were noted. +The average transaction time was 6ms. with a maximum of 411ms. -- cgit 1.2.3-korg