s3p stability xacml-pdp documentation
[policy/parent.git] / docs / development / devtools / xacml-s3p.rst
1 .. This work is licensed under a
2 .. Creative Commons Attribution 4.0 International License.
3 .. http://creativecommons.org/licenses/by/4.0
4
5 .. _xacml-s3p-label:
6
7 .. toctree::
8    :maxdepth: 2
9
10 Policy XACML PDP component
11 ##########################
12
13 The stability test was executed by performing requests
14 against the Policy RESTful APIs residing on the XACML PDP installed in the windriver
15 lab.  This was running on a kubernetes pod having the following configuration:
16
17 - 16GB RAM
18 - 8 VCPU
19 - 160GB Disk
20
21 The test was run via jmeter, which was installed on a separate VM so-as not
22 to impact the performance of the XACML-PDP being tested.
23
24
25 Stability Test of Policy XACML PDP
26 ************************************
27
28 Summary
29 =======
30
31 The stability test was performed on a default ONAP OOM installation in the Intel Wind River Lab environment.
32 JMeter was installed on a separate VM to inject the traffic defined in the
33 `XACML PDP stability script
34 <https://git.onap.org/policy/xacml-pdp/tree/testsuites/stability/src/main/resources/testplans/stability.jmx>`_
35 with the following command:
36
37 .. code-block:: bash
38
39     jmeter.sh -Jduration=259200 -Jusers=2 -Jxacml_ip=$ip -Jpap_ip=$ip -Japi_ip=$ip \
40         -Jxacml_port=31104 -Jpap_port=32425 -Japi_port=30709 --nongui --testfile stability.jmx
41
42 Note: the ports listed above correspond to port 6969 of the respective components.
43
44 The default log level of the root and org.eclipse.jetty.server.RequestLog loggers in the logback.xml
45 of the XACML PDP
46 (om/kubernetes/policy/components/policy-xacml-pdp/resources/config/logback.xml)
47 was set to ERROR since the OOM installation did not have log rotation enabled of the
48 container logs in the kubernetes worker nodes.
49
50 The stability test, stability.jmx, runs the following, all in parallel:
51
52 - Healthcheck, 2 simultaneous threads
53 - Statistics, 2 simultaneous threads
54 - Decisions, 2 simultaneous threads, each running the following tasks in sequence:
55    - Monitoring Decision
56    - Monitoring Decision, abbreviated
57    - Naming Decision
58    - Optimization Decision
59    - Default Guard Decision (always "Permit")
60    - Frequency Limiter Guard Decision
61    - Min/Max Guard Decision
62
63 When the script starts up, it uses policy-api to create, and policy-pap to deploy
64 the policies that are needed by the test.  It assumes that the "naming" policy has
65 already been created and deployed.  Once the test completes, it undeploys and deletes
66 the policies that it previously created.
67
68 Results
69 =======
70
71 The stability summary results were reported by JMeter with the following summary line:
72
73 .. code-block:: bash
74
75     summary =  207771010 in 72:00:01 =  801.6/s Avg:     6 Min:     0 Max:   411 Err:     0 (0.00%)
76
77 The XACML PDP offered good performance with JMeter for the traffic mix described above, using 801 threads per second
78 to inject the traffic load.   No errors were encountered, and no significant CPU spikes were noted.
79 The average transaction time was 6ms. with a maximum of 411ms.
80