Optimize Gamma API integration performance through client configuration, caching, connection pooling, and parallel request patterns.
Enable keep-alive, compression, and configure max sockets (10). Set retry conditions for 5xx and 429 errors.
Use node-cache with 5-minute TTL. Invalidate on presentation.updated events.
Replace sequential loops with p-limit (concurrency 5) for bulk operations. Use batch API where available.
Use async generators for memory-efficient iteration over large presentation lists.
Request only needed fields to reduce response size. Use returnImmediately for creation operations.
Create shared HTTP/HTTPS agents with keep-alive, 25 max sockets, and 60s timeout.
See detailed implementation for advanced patterns.
| Issue | Cause | Solution |
|---|---|---|
| High latency | No connection reuse | Enable keep-alive and pooling |
| Memory growth | Unbounded cache | Set TTL and max cache size |
| Rate limiting | Too many parallel requests | Use p-limit with concurrency cap |
| Operation | Target | Action if Exceeded |
|---|---|---|
| Simple GET | < 200ms | Check network, use caching |
| List (100 items) | < 500ms | Reduce page size |
| Create presentation | < 5s | Use async pattern |
| Export PDF | < 30s | Use webhook notification |