Policy R3 Performance results of XACML PDP, Multi-threaded

Summary

The Performance test was executed by making request against the Policy RESTful APIs residing on the XACML PDP installed in the windriver lab (PFPP) to create, push and get policy decisions.  This was running on a kubernetes host, using the m2.xlarge spec, having the following configuration:

  • 16GB RAM

  • 8 VCPU

  • 160GB Disk

The performance test runs 10 simultaneous threads calling Policy Engine RESTful APIs to create and push policies to the PDP-X for Guard, Guard Min Max, and Config Base policy types, each thread repeats this process 10 times.  Once the first thread group is complete, the performance test runs 10 simultaneous threads calling Policy Engine RESTful APIs to get decisions for Guard and Guard Min/Max policies on the PDP-X, each thread repeats this process 1000 times.

The test execution resulted in 20000 getDecision PERMIT requests resulting in 99.87% returning the expected response and 20000 getDecision DENY requests resulting in 99.79% returning the expected response with throughput averaging about 2.3 transactions per second. CPU and memory usage are provided below with JMeter results.

Result


CPU Utilization

Total CPU used by the PDP was measured before and after the test, using "ps -l".

Initial CPU time

Final CPU time

Total CPU used during test

Average CPU per request

 Initial CPU%

Initial Memory% 

Final CPU% 

Final Memory% 

Initial CPU time

Final CPU time

Total CPU used during test

Average CPU per request

 Initial CPU%

Initial Memory% 

Final CPU% 

Final Memory% 

00:02:33

01:56:08

6815 ms

9.8 ms

 9.4%

 4.4%

 92.3%

 8.9%


Memory Utilization

Number of young garbage collections used during the test: 1506 Avg. Young garbage collection time: ~34.17 ms per collection Total number of Full garbage collection: 5 Avg. Full garbage collection time: ~98.4 ms per collection S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 52736.0 49664.0 17713.7 0.0 246784.0 72845.7 699392.0 61080.8 78336.0 76078.3 9472.0 9004.4 24 1.559 3 0.584 2.143 27648.0 27648.0 24017.9 0.0 293888.0 62859.4 699392.0 168780.0 82944.0 80562.5 9472.0 9027.6 1530 53.013 5 1.076 54.088


Jmeter Results Summary