Performance & Scalabilité
Performance et scalabilité Ruby on Rails
Réduire les temps de réponse et préparer l'application à absorber davantage de trafic, sans réécriture complète.
Parler d'un problème de performance →Symptômes traités
Application Rails lente sous charge, temps de réponse qui se dégradent avec la croissance des données, timeouts, files Sidekiq qui s'accumulent, coûts d'infrastructure qui augmentent plus vite que le trafic.
Leviers d'intervention
- Requêtes N+1 : identification et correction via eager loading, revue des associations ActiveRecord
- PostgreSQL : analyse des plans d'exécution, index manquants, requêtes à réécrire
- Cache : mise en cache Rails (fragment, Russian doll) et Redis, invalidation maîtrisée
- Sidekiq : dimensionnement des files, retries, jobs longs à découper ou déplacer
- Mémoire et concurrence : fuites mémoire, configuration Puma/Sidekiq, garbage collection
- Observabilité : métriques et traces pour mesurer l'impact réel des changements
Chaque optimisation est mesurée avant/après sur l'environnement du client, sans résultat annoncé à l'avance.