Problème de performance Laravel
Bonjour,
Je viens vers vous car je ne sais plus quoi faire pour essayer d'améliorer les performances de mon projet Laravel. Il y a forcément quelque chose que j'ai mal fait car il n'est pas possible que Laravel soit si lent...
Je vous explique la situation :
Je rencontre de sérieux problèmes de performance sur mes applications Laravel 9 et 10. J'utilise une stack TALL (Tailwind, Alpine, Livewire, Laravel) et j'ai remarqué un retard significatif lors du chargement de mes ressources, que j'ai du mal à expliquer.
Plus précisément, chacun de mes fichiers JS et CSS met environ 2 secondes à se charger si je les laisse dans le répertoire 'vendor'. Cependant, si je déplace manuellement ces fichiers vers le répertoire 'public', le temps de chargement s'améliore considérablement.
Ce problème se produit à la fois dans mon environnement de développement (PHP FPM 8.1.2, Nginx, Valet Linux, Ubuntu 22.04 (pas dans une VM), Intel Core i5, 16Go RAM, SSD M.2 NVMe) et en production (PHP FPM 8.2, Apache, Debian 11) même après cache:view, cache:config, etc.
Comme solution temporaire, j'ai déplacé les fichiers vers le dossier public, mais l'application elle-même (hors ressources) met aussi environ 2 secondes à se charger. Cela rend difficile la réactivité avec Livewire sans rencontrer des retards de rafraîchissement de formulaire d'environ 2 secondes chacun.
Chargement depuis le répertoire "vendor" :
/admin/oncalls ████████████████████████████ 1.54s
/livewire/livewire.js ██████████████████████████████ 1.54s
/filament/assets/app.js █████████████████████████████ 1.37s
/filament/assets/echo.js ███████████████████████████████████████████████ 2.32s
Chargement depuis le répertoire "public" :
/admin/oncalls ████████████████████████████ 1.54s
/livewire/livewire.js █ 9ms
/filament/assets/app.js █ 6ms
/filament/assets/echo.js █ 6ms
Le problème de temps de chargement de l'application ne semble pas être lié aux requêtes de base de données puisque la Debugbar de Laravel montre des requêtes rapides.
Cependant, l'utilisation de la mémoire semble assez élevée. Je ne sais pas comment découvrir pourquoi elle est si élevée.
Les droits d'accès ne semblent pas non plus être le problème :
drwxrwxr-x 81 david david 4096 mai 17 10:30 vendor
drwxrwxr-x 5 david david 4096 mai 25 13:44 public
Je cherche une solution depuis plusieurs mois maintenant sans succès. J'ai essayé le profilage avec Xdebug pour identifier le problème, mais je ne suis pas encore totalement familier avec cet outil. Je me demande s'il est sûr et conseillé de partager un fichier cachegrind.out publiquement sans révéler trop d'informations sur mon application.
Toutes les idées ou suggestions seraient grandement appréciées. Merci d'avance.
php artisan icons:cache
A résolu le problème. Je n'avais pas vu que cette commande existait et que les icones pouvaient à ce point faire baisser les performances.
Vous ne pouvez pas répondre à ce sujet.