Performance & Cost Tuning Guide¶
This guide provides performance and cost optimization strategies for LocalCloudLab.
1. Application-Level Tuning¶
Reduce DB load¶
- Add caching (Redis)
- Use async methods
- Batch queries
- Add indexes
Reduce latency¶
- Use connection pooling
- Disable sync-over-async
- Avoid blocking I/O
2. Kubernetes Tuning¶
Right-size pods¶
Search API:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 600m
memory: 512Mi
HPA tuning¶
Set target CPU:
averageUtilization: 70
Reduce pod restarts¶
- Tune liveness probes
- Tune readiness probes
- Add startup probes
3. Envoy Gateway Tuning¶
Increase timeouts¶
timeout:
request: 20s
Retry policy¶
retry:
attempts: 3
retryOn:
- connection-failure
Connection pooling¶
Tune via BackendPolicy.
4. Database Tuning¶
Add indexes¶
Tune vacuum¶
Use connection pooling¶
Add read replicas (future)¶
5. Redis Tuning¶
Use in-memory eviction policy¶
maxmemory-policy allkeys-lru
Enable persistence:¶
appendonly yes
6. Cost Optimization¶
Reduce logs to Loki¶
- Avoid debug logs in production
Use autoscaling¶
- Scale down during low traffic
Node size¶
Choose:
- 4 vCPU / 16 GB RAM → ideal
-
Scale horizontally if needed
-
Summary
✔ Faster services ✔ Lower database load ✔ Lower cloud cost ✔ Scalable infrastructure