Le Mythe de l'Application Rails Liée à l'E/S

2025-01-25

Il est communément admis que les applications Rails sont intrinsèquement liées à l'E/S, la base de données étant le principal goulot d'étranglement des performances, ce qui rend les performances de Ruby moins critiques. Cet article remet en question cette idée. Bien que la base de données soit effectivement un goulot d'étranglement pour le scaling, l'auteur soutient que cela ne signifie pas que l'application passe la majeure partie de son temps à attendre l'E/S. L'analyse des améliorations de performances de YJIT et des problèmes de performances courants (comme les index de base de données manquants) suggère que de nombreuses applications Rails sont en réalité liées au processeur. L'article souligne la confusion entre la famine du processeur et l'attente de l'E/S, et souligne que le choix du modèle d'exécution approprié (asynchrone, threadé ou basé sur les processus) dépend du ratio E/S/CPU de l'application. L'auteur appelle à une attention accrue sur les performances de Ruby et souligne les possibilités d'optimisation au sein de Rails lui-même.

Développement