Bonjour les développeurs, Ceci est mon premier article sur cette plateforme ! ?
Je voulais partager une expérience surprenante que j'ai eue avec Express.js et SQL. Je suis un développeur débutant et, tout en travaillant sur l'API de mon projet, je traitais plus de 200 000 requêtes API par jour. Initialement, j'ai configuré une base de données SQLite (~ 400 Mo) avec une API Express.js et utilisé la mise en cache Node.js pour accélérer les choses.
Au début, le temps de réponse d'une requête était d'environ 200 à 300 ms, car elle impliquait plusieurs JOIN et recherches. J'ai donc décidé de faire quelques expériences pour voir si je pouvais améliorer les performances.
Voici ce que j'ai fait :
Le résultat était surprenant ! Après l'indexation, certaines de mes requêtes les plus complexes, impliquant plusieurs JOIN, étaient exécutées en seulement 3 à 5 ms.
Auparavant, avec la mise en cache des nœuds :
Après, avec uniquement les index SQLite :
chaque requête ne prend que 7-10 ms sans aucune mise en cache.
Maintenant, les requêtes sont toujours rapides, ce qui réduit également la charge du serveur ! Au départ, j'exécutais mon application sur un droplet DigitalOcean avec 4 Go de RAM et 4 vCPU. Mais après avoir optimisé les requêtes SQL, je peux gérer confortablement la même charge de travail avec seulement 2 Go de RAM et 2 vCPU.
Je sais que cela peut paraître simple, mais une indexation SQL appropriée a fait une si grande différence dans les performances des requêtes que je n'ai même plus besoin de compter sur la mise en cache. ?
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3