Heim  >  Artikel  >  Backend-Entwicklung  >  Eine kurze Analyse der Geschwindigkeitsoptimierung von Laravel-Projekten

Eine kurze Analyse der Geschwindigkeitsoptimierung von Laravel-Projekten

*文
*文Original
2018-01-03 14:42:131812Durchsuche

Ich habe mich kürzlich mit dem Laravel-Framework vertraut gemacht und ein eigenes Projekt erstellt, in dem ich einige Methoden zur Verbesserung der Leistung von Laravel-Websites zusammenfasse. In diesem Artikel werden Ihnen hauptsächlich einige Methoden zur Optimierung der Öffnungsgeschwindigkeit der Laravel-Website vorgestellt. Die Einführung im Artikel ist sehr detailliert. Ich hoffe, es hilft allen.

Vorwort

Laravel ist ein leistungsstarkes Framework mit vielen Komponenten und riesigem Code. Ja, die Benutzerfreundlichkeit geht zu Lasten der Leistung. Obwohl es immer noch ein hervorragendes Framework ist, muss es in einer formellen Umgebung optimiert werden, um die Öffnungsgeschwindigkeit der Website zu verbessern. Der folgende Artikel stellt Ihnen hauptsächlich einige Methoden und Techniken zur Optimierung der Öffnungsgeschwindigkeit der Laravel-Website vor. Werfen wir ohne weiteres einen Blick auf die detaillierte Einführung:

1. Deaktivieren Sie das Debuggen

Öffnen Sie die .env-Datei und setzen Sie Debug auf „false“.

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

2. Cache-Routing und -Konfiguration

php artisan route:cache

php artisan config:cache

3. Laravel-Optimierungsbefehle

php artisan optimize

4. Composer-Optimierung

sudo composer dump-autoload --optimize

5. Verwenden Sie den Laravel-Cache

Verwenden Sie die Cache-Methode von Laravel, um Inhalte zwischenzuspeichern, einschließlich Datei-Cache, Datenbank-Cache und Redis Cache können Sie bei der Verwendung von Redis auch Predis-Komponenten verwenden oder mehrere Caching-Methoden kombinieren.

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

6. Verwenden Sie CDN

Zum Beispiel bietet Ihnen Qiniu CDN jeden Monat 20G Datenverkehr und 20G Speicherplatz, für kleine Mengen Websites Es ist völlig ausreichend.

7. Verwenden Sie PHP 7 und aktivieren Sie OPcache

Mehrere Tipps zur Verbesserung der Leistung von PHP 7, der erste ist die Aktivierung von Opache, unten zitiert Originaltext:

Denken Sie daran, Zend Opcache zu aktivieren, da PHP7 auch ohne Opcache schneller ist als PHP-5.6 mit aktiviertem Opcache. Daher hat während des vorherigen Testzeitraums jemand Opcache nicht aktiviert

Mein Alibaba Cloud-Server ist PHP 7, der über eine Centos-Quelle namens Remi bereitgestellt wird. Ich habe ihn mit dem Befehl yum list yum70* durchsucht und festgestellt, dass er vorhanden ist, also habe ich ihn installiert:

yum install php70-php-opcache.x86_64

Starten Sie dann php-fpm neu und verwenden Sie den Befehl service php70-php-fpm restart. (Verschiedene Systeme und Umgebungen installieren und aktivieren Opache entsprechend ihren jeweiligen Umständen)

Erstellen Sie eine neue PHP-Datei und verwenden Sie die Funktion phpinfo(), um die php.ini-Informationen anzuzeigen. Wenn ein OPcache-Element gefunden werden kann, bedeutet dies, dass es erfolgreich aktiviert wurde. Durch die Installation und Aktivierung von PHP 7 wird PHP 7 um einen weiteren Flügel erweitert!

8. Aktivieren Sie die gzip-Komprimierung auf Nginx

Das Aktivieren der gzip-Komprimierung auf dem Server Nginx ist eine der Möglichkeiten, die Website-Leistung zu optimieren und kann Serverbandbreite effektiv reduzieren Der Nachteil besteht darin, dass dadurch die CPU-Auslastung erhöht wird, in vielen Fällen jedoch die CPU am meisten im Leerlauf ist.

Zitieren der Einleitung von der offiziellen Nginx-Website:

Das Modul ngx_http_gzip_module ist ein Filter, der Antworten mithilfe der „gzip“-Methode komprimiert. Dies hilft oft, die Größe der übertragenen Daten um die Hälfte oder sogar zu reduzieren mehr.

Gzip-Komprimierung in Nginx aktivieren

Öffnen Sie die Datei nginx.conf und fügen Sie Folgendes hinzu:

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;

Einführung in die gzip-Parameter

GZIP ON|OFF

Aktivieren oder deaktivieren Sie das gzip-Modul

GZIP_MIN_LENGTH 1000

Legen Sie die Mindestanzahl an Bytes fest Anzahl der für die Komprimierung zulässigen Seiten, Seitenwörter. Die Anzahl der Abschnitte ergibt sich aus der Inhaltslänge im Header. Der Standardwert ist 0, wodurch die Seite unabhängig von ihrer Größe komprimiert wird. Es wird empfohlen, die Anzahl der Bytes auf mehr als 1 KB festzulegen. Wenn sie weniger als 1 KB beträgt, wird die Komprimierung möglicherweise immer stärker. Das heißt: gzip_min_length 1024

GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;

Wenn Nginx als Reverse-Proxy aktiviert ist, wird das vom Back-End-Server zurückgegebene Ergebnis aktiviert oder deaktiviert Der Back-End-Server muss eine Nachricht mit dem Header „Via“ zurückgeben.

GZIP_TYPES TEXT/PLAIN APPLICATION/XML;

Entspricht dem MIME-Typ für die Komprimierung (ob angegeben oder nicht), der Typ „text/html“ wird immer komprimiert.

Bestimmen Sie, ob die GZIP-Komprimierung über den Browser aktiviert werden soll

Öffnen Sie beispielsweise in Firefox eine Webseite und öffnen Sie die Debug-Kontrollleiste, wie in der Abbildung gezeigt:

Das Feld „Content-Encoding“ ist gzip, was darauf hinweist, dass die Webseite gzip-komprimiert ist.

Dies ist nicht nur eine Methode zur Leistungsoptimierung für Laravel-Websites. Viele davon sind allgemeine Methoden zur Optimierung der Website-Leistung.

Verwandte Empfehlungen:

Detaillierte Erläuterung, wie Laravel die Supervisor-Ausführung asynchroner Prozesse implementiert

Ausführliche Erklärung, wie Sie Laravel verwenden, um eine einfache Formularübermittlung zu implementieren

Laravel optimierte Split-Routing-Datei

Das obige ist der detaillierte Inhalt vonEine kurze Analyse der Geschwindigkeitsoptimierung von Laravel-Projekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn