Joey
04/05/2026, 4:06 PMhiroxin
04/05/2026, 4:20 PMJoey
04/05/2026, 4:20 PMhiroxin
04/05/2026, 4:22 PMhiroxin
04/09/2026, 3:00 PMdatastore-conn-pool-read-max-open.
- 4vCPU 8GB RAM ECS Task * 6
- --dispatch-concurrency-limit=100
- --dispatch-lookup-resources-concurrency-limit=100
- --dispatch-cache-max-cost=512MiB
- --dispatch-cache-num-counters=500000
- --dispatch-cluster-cache-max-cost=1GiB
- --dispatch-cluster-cache-num-counters=1000000
- --ns-cache-max-cost=64MiB
- --datastore-conn-pool-read-min-open=20
- --datastore-conn-pool-read-max-open=50
- DB: Aurora Serverless v2 for PostgreSQL (ACU: 10~50)
With the above configuration, we are now seeing the following throughput for 200 concurrent requests:
mean : 2401.47 ms
median : 2550.78 ms
p95 : 2670.66 ms
p99 : 2675.55 ms
min : 200.63 ms
max : 2676.74 ms
However, our goal is to achieve this throughput at 600 concurrent requests, so we still need to improve it further.
I checked the Otel metrics, and since the requests in our performance tests tend to have a high cache hit rate (which is not an issue as this matches our production traffic), increasing datastore-conn-pool-read-max-open didn't seem to provide much benefit.
Also, while LR3 further reduced the minimum latency, it didn't significantly improve the overall throughput for the 200 concurrent requests.
By the way, as a baseline, is it theoretically possible for SpiceDB to process 600 concurrent LookupResources requests (with 500 resources each) within 1~3 seconds?
I understand that it naturally depends on the infrastructure specs, but is it feasible by design in SpiceDB?
I'm asking this to help us decide whether we should continue moving forward with this standard approach.Joey
04/09/2026, 3:36 PMJoey
04/09/2026, 3:36 PMJoey
04/09/2026, 3:36 PMhiroxin
04/09/2026, 3:55 PMJoey
04/09/2026, 4:00 PMJoey
04/09/2026, 4:00 PMJoey
04/09/2026, 4:01 PMJoey
04/09/2026, 4:01 PMhiroxin
04/09/2026, 4:19 PMJoey
04/09/2026, 4:40 PMJoey
04/09/2026, 4:40 PMhiroxin
04/16/2026, 10:38 AMdefinition team {
relation member: user with login_team_scope
permission is_member = member
}
definition contents {
relation allowed: team#member with login_team_scope
relation enabled: contents#allowed
permission member_view = enabled
}
Best Regards,