1 .. This work is licensed under a
2 .. Creative Commons Attribution 4.0 International License.
3 .. http://creativecommons.org/licenses/by/4.0
10 Policy XACML PDP component
11 ##########################
13 Both the Performance and the Stability tests were 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:
21 Both tests were run via jmeter, which was installed on a separate VM so-as not
22 to impact the performance of the XACML-PDP being tested.
24 Performance Test of Policy XACML PDP
25 ************************************
30 The Performance test was executed, and the result analyzed, via:
34 jmeter -Jduration=1200 -Jusers=10 \
35 -Jxacml_ip=$ip -Jpap_ip=$ip -Japi_ip=$ip \
36 -Jxacml_port=31104 -Jpap_port=32425 -Japi_port=30709 \
41 Note: the ports listed above correspond to port 6969 of the respective components.
43 The performance test, perf.jmx, runs the following, all in parallel:
45 - Healthcheck, 10 simultaneous threads
46 - Statistics, 10 simultaneous threads
47 - Decisions, 10 simultaneous threads, each running the following in sequence:
50 - Monitoring Decision, abbreviated
52 - Optimization Decision
53 - Default Guard Decision (always "Permit")
54 - Frequency Limiter Guard Decision
55 - Min/Max Guard Decision
57 When the script starts up, it uses policy-api to create, and policy-pap to deploy,
58 the policies that are needed by the test. It assumes that the "naming" policy has
59 already been created and deployed. Once the test completes, it undeploys and deletes
60 the policies that it previously created.
65 The test was run for 20 minutes at a time, for different numbers of users (i.e.,
66 threads), with the following results:
69 :header: "Number of Users", "Throughput (requests/second)", "Average Latency (ms)"
77 Stability Test of Policy XACML PDP
78 ************************************
83 The stability test was performed on a default ONAP OOM installation in the Intel Wind River Lab environment.
84 JMeter was installed on a separate VM to inject the traffic defined in the
85 `XACML PDP stability script
86 <https://git.onap.org/policy/xacml-pdp/tree/testsuites/stability/src/main/resources/testplans/stability.jmx>`_
87 with the following command:
91 jmeter.sh -Jduration=259200 -Jusers=2 -Jxacml_ip=$ip -Jpap_ip=$ip -Japi_ip=$ip \
92 -Jxacml_port=31104 -Jpap_port=32425 -Japi_port=30709 --nongui --testfile stability.jmx
94 The default log level of the root and org.eclipse.jetty.server.RequestLog loggers in the logback.xml
96 (om/kubernetes/policy/components/policy-xacml-pdp/resources/config/logback.xml)
97 was set to ERROR since the OOM installation did not have log rotation enabled of the
98 container logs in the kubernetes worker nodes.
103 The stability summary results were reported by JMeter with the following line:
107 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%)
109 The XACML PDP offered good performance with JMeter for the traffic mix described above, creating 4096 threads per second
110 to inject the traffic load. No errors were encountered, and no significant CPU spikes were noted.