Les performances du framework Laravel n'ont jamais été très bonnes, donc lors de l'apprentissage du framework PHP laravel, vous devez maîtriser l'optimisation du programme Laravel. Ensuite, je partagerai certaines des meilleures solutions de développement et techniques d'optimisation.
Voici la liste simple :
Cache d'informations de configuration artisan config:cache
Cache de route artisan route:cache
Optimisation du chargement de la carte de classe artisan optimiser
Optimisation du chargement automatique composer dumpautoload
Utiliser Memcached pour stocker la session config/session.php
Utiliser le pilote de cache professionnel config/cache.php
Optimisation des requêtes de base de données
Écrire la logique de mise en cache pour l'ensemble de données
Utiliser un compilateur juste à temps (JIT), tel que : HHVM, OpCache
Fusion des ressources frontales avec Elixir
1. Cache des informations de configuration
Utilisez la commande intégrée Artisan suivante pour fusionner toutes les informations de configuration du dossier de configuration en un seul fichier afin de réduire le nombre de fichiers chargés au moment de l'exécution :
php artisan config:cache
La commande ci-dessus générera le fichier bootstrap/cache/config.php Vous pouvez utiliser la commande suivante pour annuler le cache des informations de configuration :
php artisan config:clearCette commande supprime le fichier bootstrap/cache/config.php. Remarque : Le cache des informations de configuration ne sera pas automatiquement rechargé avec les mises à jour. Par conséquent, il est recommandé de désactiver le cache des informations de configuration pendant le développement. Il est généralement utilisé dans les environnements de production et peut être utilisé avec la tâche Envoy. coureur.2. Mise en cache des routes
La mise en cache des routes peut améliorer efficacement l'efficacité de l'enregistrement du routeur. L'effet est plus évident dans les grandes applications. php artisan route:cacheLa commande ci-dessus générera le fichier bootstrap/cache/routes.php. Il convient de noter que le cache de route ne prend pas en charge la logique d'écriture de fonction anonyme de routage. Vous pouvez utiliser la commande suivante pour vider le cache de route : php artisan route:clearCette commande supprime le fichier bootstrap/cache/routes.php . Remarque : le cache de route ne sera pas automatiquement rechargé avec les mises à jour. Par conséquent, il est recommandé de désactiver le cache de route pendant le développement. Il est généralement utilisé dans les environnements de production et peut être utilisé avec l'exécuteur de tâches Envoy.3. Optimisation du chargement des cartes de classes
La commande d'optimisation fusionne les classes couramment chargées en un seul fichier pour améliorer l'efficacité opérationnelle en réduisant le chargement des fichiers : php artisan optimise --force générera deux fichiers, bootstrap/cache/compiled.php et bootstrap/cache/services.json. Vous pouvez ajouter des classes à fusionner en modifiant le fichier config/compile.php. Dans l'environnement de production, le paramètre --force n'a pas besoin d'être spécifié et le fichier sera automatiquement généré. Pour effacer l'optimisation du chargement du classmap, exécutez la commande suivante : php artisan clear-compiledCette commande supprimera les deux fichiers générés par l'optimisation ci-dessus. Remarque : Cette commande doit être exécutée après php artisan config:cache, car la commande d'optimisation génère des fichiers basés sur les informations de configuration (telles que le tableau des fournisseurs du fichier config/app.php).4. Optimisation du chargement automatique
Cette commande ne s'applique pas uniquement aux programmes Laravel, mais s'applique également à tous les programmes construits à l'aide de Composer. Cette commande convertira PSR-0 et PSR-4 en une table de mappage de classes pour améliorer la vitesse de chargement des classes. composer dumpautoload -oRemarque : Cette opération a déjà été effectuée dans la commande php artisan optimise --force.5. Utilisez Memcached pour stocker les sessions
Chaque requête Laravel générera une session La modification de la méthode de stockage de session peut améliorer efficacement l'efficacité du programme et les informations de configuration de session. config/session.php Il est recommandé de le remplacer par un logiciel de mise en cache professionnel tel que Memcached ou Redis :'driver' => 'memcached',
6. Utilisez un pilote de cache professionnel
. Le "Cache" est l'une des armes magiques pour améliorer l'efficacité de l'exécution des applications. Le pilote de cache par défaut est le cache de fichiers. Il est recommandé de passer à un système de cache professionnel, tel que Redis ou Memcached. Il n'est pas recommandé d'utiliser le cache de base de données. . 'default' => 'redis',7. Optimisation des requêtes de base de données
Utiliser le préchargement paresseux et le préchargement ; Utilisez Laravel Debugbar ou Clockwork pour faire attention au nombre total de requêtes de base de données pour chaque page ;L'espace ici couvre uniquement le contenu lié à Laravel. Pour d'autres contenus sur l'optimisation des données, veuillez le faire vous-même. Consultez d'autres informations. .8. Écrire la logique de cache pour l'ensemble de données
Utiliser raisonnablement les opérations de couche de cache fournies par Laravel pour mettre en cache les ensembles de données extraits de la base de données, réduisant ainsi la base de données. Le logiciel de mise en cache professionnel exécuté sur la mémoire peut également lire les données beaucoup plus rapidement que la base de données.$posts = Cache::remember('index.posts', $minutes = 30, function() { return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get(); });
9. Utilisez le compilateur juste à temps
HHVM et OpCache peuvent facilement améliorer votre application de 50 % sans aucune modification ou performances supérieures, a fait PHPhub. une expérience auparavant. Pour plus de détails, veuillez consulter : Utiliser OpCache pour améliorer les performances du programme PHP 5.5+.10. Fusion des ressources frontales
En tant que norme d'optimisation, une page ne doit charger qu'un seul fichier CSS et un fichier JS, et le fichier doit être facilement accessible depuis CDN, et le nom du fichier doit changer avec la modification.
Recommandations associées :
Quelques conseils pratiques pour améliorer les performances de Laravel 5
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!