Maison  >  Article  >  développement back-end  >  Une brève analyse de l'optimisation de la vitesse du projet Laravel

Une brève analyse de l'optimisation de la vitesse du projet Laravel

*文
*文original
2018-01-03 14:42:131883parcourir

J'ai récemment appris le framework Laravel et réalisé mon propre projet, résumant quelques méthodes pour améliorer les performances des sites Web Laravel. Cet article vous présente principalement quelques méthodes pour optimiser la vitesse d'ouverture du site Laravel. L'introduction de l'article est très détaillée. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.

Avant-propos

Laravel est un framework puissant avec de nombreux composants et un code énorme. Sa facilité d'utilisation se fait au détriment des performances. il s'agit quand même d'un excellent framework, mais dans un environnement formel, il doit être optimisé pour améliorer la vitesse d'ouverture du site. L'article suivant vous présente principalement quelques méthodes et techniques pour optimiser la vitesse d'ouverture du site Web Laravel. Sans plus tarder, jetons un œil à l'introduction détaillée :

1. Désactivez le débogage.

Ouvrez le fichier .env et définissez le débogage sur false.

APP_ENV=local
APP_DEBUG=false
APP_KEY=base64:sT/aTFeaE13eyao1Raee6jC9Ff+Yle1SE+wtyk0H6B4=

2. Routage et configuration du cache

php artisan route:cache

php artisan config:cache

3. Commandes d'optimisation de Laravel

php artisan optimize

4. >

sudo composer dump-autoload --optimize

5. Utilisez le cache Laravel Utilisez la méthode Cache de Laravel pour mettre en cache le contenu, y compris le cache de fichiers, le cache de base de données et Redis. cache , vous pouvez également utiliser des composants predis lorsque vous utilisez redis, ou vous pouvez combiner plusieurs méthodes de mise en cache.

$lists = Cache::remember('travel.destination.lists', 20, function () {
 return $this->destination->getList();
});

6. Utilisez CDNPar exemple, Qiniu CDN vous offrira 20G de trafic et 20G d'espace de stockage chaque mois, pour les petits sites C'est tout à fait suffisant.

7. Utilisez PHP 7 et activez OPcache Plusieurs astuces pour améliorer les performances de PHP 7, la première est d'activer Opache, cité ci-dessous Texte original :

N'oubliez pas d'activer Zend Opcache, car PHP7 est plus rapide même sans Opcache que PHP-5.6 avec Opcache activé, donc pendant la période de test précédente, quelqu'un n'a pas activé Opcache


Mon serveur Alibaba Cloud est PHP 7 fourni via une source centos appelée remi n'est pas installé par défaut. Je l'ai recherché avec la commande

et j'ai découvert qu'il était là, je l'ai donc installé :

<.>yum list yum70* Redémarrez ensuite php-fpm et utilisez la commande

. (Différents systèmes et environnements installent et activent Opache en fonction de leurs propres circonstances)
yum install php70-php-opcache.x86_64

service php70-php-fpm restart

Créez un nouveau fichier php et utilisez la fonction phpinfo() pour afficher les informations php.ini. Si OPcache peut être trouvé, cela indique qu'il a été activé avec succès. Installer et activer PHP 7, c'est ajouter une autre aile à PHP 7 !

8. Activez la compression gzip sur nginx

L'activation de la compression gzip sur le serveur Nginx est l'un des moyens d'optimiser les performances du site Web et peut réduire efficacement la bande passante du serveur. L'inconvénient est que cela augmentera le taux d'occupation du processeur, mais dans de nombreux cas, le processeur est souvent le plus inactif.

Citant l'introduction du site officiel de nginx :

Le module ngx_http_gzip_module est un filtre qui compresse les réponses à l'aide de la méthode « gzip ». Cela permet souvent de réduire de moitié, voire même, la taille des données transmises. plus


Activer la compression gzip dans Nginx

Ouvrez le fichier nginx.conf et ajoutez ce qui suit :

Présentation des paramètres gzip
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;

Activer ou désactiver le module gzip GZIP ON|OFF

Définir le nombre minimum d'octets de pages autorisées pour la compression, mots de page. Le nombre de sections est obtenu à partir de la longueur de contenu dans l'en-tête. La valeur par défaut est 0, ce qui compresse la page quelle que soit sa taille. Il est recommandé de définir le nombre d'octets sur une valeur supérieure à 1 Ko. S'il est inférieur à 1 Ko, il peut être de plus en plus compressé. C'est-à-dire : gzip_min_length 1024GZIP_MIN_LENGTH 1000

Lorsque Nginx est activé en tant que proxy inverse, le résultat renvoyé par le serveur principal est activé ou désactivé. Le principe de la correspondance est le suivant. le serveur back-end doit renvoyer un message contenant l'en-tête " Via ". GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;

Correspond au type MIME pour la compression, (qu'il soit spécifié ou non) le type "text/html" sera toujours compressé. GZIP_TYPES TEXT/PLAIN APPLICATION/XML;

Déterminez s'il faut activer la compression gzip via le navigateur

Par exemple, dans Firefox, ouvrez une page Web et ouvrez la barre de contrôle de débogage, comme indiqué dans la figure :

Le champ Content-Encoding est gzip, indiquant que la page Web est compressée par gzip.

Il ne s'agit pas seulement d'une méthode d'optimisation des performances pour les sites Web Laravel. Beaucoup d'entre elles sont des méthodes générales d'optimisation des performances des sites Web. Bien sûr, il existe de nombreux endroits qui peuvent être optimisés.

Recommandations associées :

Explication détaillée de la façon dont Laravel implémente l'exécution par le superviseur des processus asynchrones

Explication détaillée de la façon d'utiliser Laravel pour implémenter une soumission de formulaire simple

Fichier de routage fractionné optimisé 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