Performance work should begin with measurement. Common improvements include efficient database queries, pagination, reducing unnecessary network calls, caching stable expensive data, and avoiding event-loop blocking.
Caching introduces invalidation and consistency concerns, so define expiration and invalidation rules before using it for important data.
Deep dive
Measure before optimizing
Use logs, metrics, profiling, and database query analysis to identify the actual bottleneck. Avoid adding caching or complex architecture to solve a problem that has not been measured.
Common performance wins
- Add appropriate database indexes.
- Return only required columns.
- Paginate large collections.
- Reuse connections.
- Avoid blocking operations.