Heim  >  Artikel  >  Backend-Entwicklung  >  PHP erreicht eine Leistungsoptimierung

PHP erreicht eine Leistungsoptimierung

王林
王林nach vorne
2020-01-11 17:51:182439Durchsuche

PHP erreicht eine Leistungsoptimierung

Problemhintergrund

Nach der Entwicklung einer Seite ist es wichtig, wie man die Seite schneller und besser laufen lässt, was das technische Niveau eines Programmierers auszeichnet Indikator für das Sichtfeld. Während des Vorstellungsgesprächs wird Ihnen der Interviewer also immer die Frage stellen: Wie kann die Leistung optimiert werden?

Was ist Leistungsoptimierung?

Aus Front-End-Perspektive kann die Leistungsoptimierung in zwei Richtungen unterteilt werden. Aus der Sicht eines Benutzers ist zum einen, dass die Seite schnell geladen wird, und zum anderen, dass die Seite reibungslos zu verwenden ist. Daher kann die Erforschung der Leistungsoptimierung in zwei Richtungen unterteilt werden: Seitenladezeit und Seitenausführungseffizienz.

(Kostenloses Teilen von Lernvideo-Tutorials: PHP-Video-Tutorial)

Wie viel Zeit dauert es vom Öffnen des Browsers bis zum Abschluss der Seitenrenderings?

Browser-Parsing->Abfrage-Cache->DNS-Abfrage->Link herstellen->Der Server verarbeitet die Anfrage->Der Server sendet eine Antwort->Der Client empfängt die Seite-> HTML analysieren-> Rendering-Baum erstellen->Anzeige des Inhalts starten (Zeit des weißen Bildschirms)->Inhalt des ersten Bildschirms wird geladen (Zeit des ersten Bildschirms)->Interaktiv für den Benutzer (DOMContentLoaded)->Laden abgeschlossen (Laden), Wenn wir laden möchten, um die Zeit zu optimieren, müssen wir jeden Schritt hier überdenken und zusammenfassen und vermeiden, hier und da ein wenig zusammenzusetzen.

Überwachung der Seitenladezeit

Bevor wir diese Links optimieren, müssen wir wissen, wie viel Zeit für die Überwachung dieser Links aufgewendet wird.

Sie können viele Daten zum Seitenladen erhalten. Die am häufigsten verwendeten sind

DNS-Auflösungszeit: domainLookupEnd - domainLookupStart

TCP-Verbindungsaufbauzeit: connectEnd - connectStart

Weißer Bildschirmzeit: responseStart - navigationStartdom

Abschlusszeit des Renderns: domContentLoadedEventEnd - navigationStart

Seitenladezeit: loadEventEnd - navigationStart

Wenn Sie diese API nicht verwenden, können Sie die vom Server-Rendering zurückgegebene Zeit verwenden, oder Über SPA-Routing herausspringen Die Zeit ist der Startpunkt und Ereignisse wie domContentLoaded und Load werden als Endpunkt aufgezeichnet. Oder gehen Sie direkt zu Google Analytics.

Wichtige Punkte für die Optimierung des Serverteils

Der Backend-Teil kann Cache, DNS-Abfragezeit, Verbindungszeit, Anforderungsverarbeitungszeit, Antwortzeit usw. optimieren.

DNS-Abfragezeit kann mithilfe von httpdns oder DNS-Vorladen, Domänennamenkonvergenz und anderen Mitteln optimiert werden.

Der Schwerpunkt beim Verbindungsaufbau liegt auf langen Verbindungen und der Wiederverwendung von Links, Keep-Alive, Long-Polling, http-Straming, Websocket oder anderen Protokollen, die Sie selbst geschrieben haben. Es ist besser, http2 direkt zu verwenden. Um den Verknüpfungsprozess zu optimieren, muss das Front-End auch CDN, Sprite-Bilder, Code-Zusammenführung und andere Methoden für Ressourcen verwenden.

Es gibt viele Punkte, die bei der Serververarbeitungsanfrage optimiert werden können. Es ist erwähnenswert, dass, wenn das mobile Endgerät auf die PC-Seite zugreift und zur mobilen Seite springen muss, der 302-Sprung auf der Serverseite verwendet wird Tun Sie es nicht am vorderen Ende. Es besteht auch die Möglichkeit, hsts zu aktivieren, wodurch der Browser für nachfolgende Besuche https verwenden muss, wodurch unnötige http-Sprünge zu https reduziert werden. Außerdem können SSL-Stripping-Angriffe verhindert und die Sicherheit verbessert werden.

Wenn der Server eine Antwort sendet, können Sie Transfer-Encoding=chunked verwenden, um Antworten mehrmals zurückzugeben. Für bestimmte Vorgänge fragen Sie Bigpipe ab. Es gibt auch Möglichkeiten, die Größe von Cookies usw. zu reduzieren.

Empfohlene verwandte Artikel und Tutorials: PHP-Tutorial

Das obige ist der detaillierte Inhalt vonPHP erreicht eine Leistungsoptimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen