Cloud PDP Benchmarks
Reference latency and throughput measurements for the Permit Cloud PDP, the managed policy decision point (PDP) that Permit runs. Use these figures to estimate the server-side processing time of permission checks when you choose between the Cloud PDP and an Edge PDP.
Methodology
- Date: October 2025.
- Region: AWS
us-east-2(Cloud PDP). - Duration: each scenario ran for a 10-minute window.
- Latency: taken from the PDP's own server-side metrics. The figures are the time the PDP spends processing each authorization request. They don't include the network round trip between your client and the PDP, so latency in your application is higher and depends on network proximity and payload size.
- Throughput: the request rate observed during each run. Throughput figures are not a measured maximum capacity.
- Reading the tables: each metric is sampled repeatedly across the run. The Avg, Min, and Max columns report the mean, lowest, and highest of those samples over the window.
- Policy models: role-based access control (RBAC) and relationship-based access control (ReBAC). The ReBAC scenarios check access through a chain of 1 to 3 parent relationships, shown under each heading.
RBAC
RBAC with single concurrency
| Metric | Avg | Min | Max |
|---|---|---|---|
| Throughput | 5.80 req/s | 5.60 req/s | 6.00 req/s |
| Average latency | 8.17 ms | 7.12 ms | 9.80 ms |
| Min latency | 6.24 ms | 5.90 ms | 6.65 ms |
| Max latency | 34.12 ms | 7.96 ms | 89.57 ms |
| P50 | 7.24 ms | 7.11 ms | 7.45 ms |
| P75 | 7.61 ms | 7.34 ms | 7.93 ms |
| P90 | 8.50 ms | 7.57 ms | 13.64 ms |
| P95 | 11.35 ms | 7.81 ms | 23.47 ms |
| P99 | 20.14 ms | 7.93 ms | 50.17 ms |
RBAC with 10 concurrent requests
| Metric | Avg | Min | Max |
|---|---|---|---|
| Throughput | 56.5 req/s | 54.6 req/s | 57.3 req/s |
| Average latency | 7.80 ms | 6.23 ms | 14.8 ms |
| Min latency | 4.82 ms | 4.64 ms | 5.1 ms |
| Max latency | 53.65 ms | 13.13 ms | 97.0 ms |
| P50 | 6.43 ms | 6.00 ms | 9.9 ms |
| P75 | 7.82 ms | 6.58 ms | 19.8 ms |
| P90 | 10.78 ms | 7.22 ms | 33.0 ms |
| P95 | 14.16 ms | 7.81 ms | 43.6 ms |
| P99 | 29.94 ms | 10.00 ms | 56.8 ms |
ReBAC
ReBAC depth 1 with single concurrency
Relationship chain: Folder → File
| Metric | Avg | Min | Max |
|---|---|---|---|
| Throughput | 5.43 req/s | 5.20 req/s | 5.60 req/s |
| Average latency | 9.87 ms | 8.90 ms | 12.20 ms |
| Min latency | 8.04 ms | 7.35 ms | 8.50 ms |
| Max latency | 28.34 ms | 10.13 ms | 63.80 ms |
| P50 | 9.05 ms | 8.70 ms | 9.50 ms |
| P75 | 9.59 ms | 9.12 ms | 12.40 ms |
| P90 | 10.81 ms | 9.26 ms | 16.90 ms |
| P95 | 13.32 ms | 9.55 ms | 23.10 ms |
| P99 | 17.84 ms | 10.00 ms | 45.70 ms |
ReBAC depth 1 with 10 concurrent requests
Relationship chain: Folder → File
| Metric | Avg | Min | Max |
|---|---|---|---|
| Throughput | 54.7 req/s | 51.7 req/s | 56.2 req/s |
| Average latency | 11.3 ms | 9.07 ms | 18.2 ms |
| Min latency | 6.5 ms | 5.90 ms | 7.8 ms |
| Max latency | 63.9 ms | 21.22 ms | 258.5 ms |
| P50 | 9.5 ms | 8.57 ms | 14.5 ms |
| P75 | 11.7 ms | 9.40 ms | 22.8 ms |
| P90 | 15.9 ms | 10.81 ms | 33.5 ms |
| P95 | 20.1 ms | 12.05 ms | 43.0 ms |
| P99 | 40.0 ms | 13.43 ms | 153.2 ms |
RBAC and ReBAC depth 1 include single-concurrency results as a baseline. ReBAC depth 2 and depth 3 report only the 10-concurrent-request scenario.
ReBAC depth 2 with 10 concurrent requests
Relationship chain: Drive → Folder → File
| Metric | Avg | Min | Max |
|---|---|---|---|
| Throughput | 54.5 req/s | 51.2 req/s | 56.3 req/s |
| Average latency | 13.3 ms | 10.8 ms | 21.2 ms |
| Min latency | 7.2 ms | 6.7 ms | 8.1 ms |
| Max latency | 71.0 ms | 31.7 ms | 103.0 ms |
| P50 | 10.9 ms | 10.0 ms | 15.7 ms |
| P75 | 13.7 ms | 11.2 ms | 25.8 ms |
| P90 | 19.1 ms | 13.6 ms | 40.4 ms |
| P95 | 26.1 ms | 15.2 ms | 50.2 ms |
| P99 | 47.5 ms | 18.6 ms | 68.4 ms |
ReBAC depth 3 with 10 concurrent requests
Relationship chain: Drive → Folder → File → Comment
| Metric | Avg | Min | Max |
|---|---|---|---|
| Throughput | 53.6 req/s | 48.8 req/s | 55.0 req/s |
| Average latency | 14.5 ms | 11.8 ms | 20.6 ms |
| Min latency | 8.0 ms | 7.2 ms | 9.2 ms |
| Max latency | 71.1 ms | 21.6 ms | 125.8 ms |
| P50 | 12.0 ms | 10.8 ms | 16.4 ms |
| P75 | 15.1 ms | 12.2 ms | 25.8 ms |
| P90 | 20.5 ms | 15.0 ms | 36.8 ms |
| P95 | 26.7 ms | 16.4 ms | 45.0 ms |
| P99 | 48.6 ms | 18.9 ms | 73.9 ms |
Key results
- Median latency: the average P50 latency is 12 ms or lower in every scenario.
- Relationship depth: at 10 concurrent requests, going from ReBAC depth 1 to depth 3 raises average latency from 11.3 ms to 14.5 ms, about 3 ms.
- Tail latency: the average P99 latency is under 50 ms in every scenario.
These benchmarks measure the PDP's server-side processing time. Latency in your application adds the network round trip between your client and the Cloud PDP, and depends on network proximity, payload size, and policy complexity. To remove that round trip, run an Edge PDP next to your application.
Related pages
- Cloud PDP capabilities: supported policy models, APIs, and rate limits.
- PDP overview: Cloud PDP and Edge PDP deployment models.