Maison  >  Article  >  développement back-end  >  Techniques d'optimisation pour les programmes dans le framework PHP laravel5 (recommandé)

Techniques d'optimisation pour les programmes dans le framework PHP laravel5 (recommandé)

不言
不言original
2018-07-25 17:07:181645parcourir

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:clear

Cette 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:cache

La 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:clear

Cette 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-compiled

Cette 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 -o

Remarque : 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();
});
rappelez-vous Même le modèle d'association de données est mis en cache, comme c'est pratique.

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

Résumé et configuration de la configuration du routage du framework Laravel astuces, framework laravel

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn