Heim > Backend-Entwicklung > PHP-Tutorial > Einführung in Methoden der PHP-Leistungsoptimierung

Einführung in Methoden der PHP-Leistungsoptimierung

Freigeben: 2023-04-08 10:24:01
nach vorne
2911 Leute haben es durchsucht

PHP ist eine sehr beliebte Skriptsprache. Viele Unternehmen (Sina, Youku, Baidu, Sohu, Taobao usw.) verwenden diese Sprache für die Website-Entwicklung. Bitte bedenken Sie, dass die Leistung Ihrer PHP-Skripte häufig von Ihrer PHP-Version, Ihrer Webserverumgebung und der Komplexität Ihres Codes abhängt.

Optimieren Sie Engpässe in Ihrem Code

Hoare sagte einmal: „Vorzeitige Optimierung ist das Wurzel allen Unglücks. Wenn Sie möchten, dass Ihre Website schneller läuft, sollten Sie eine Optimierung durchführen. Was müssen Sie tun, bevor Sie Ihren Code ändern? Was führt dazu, dass das System langsam ist? Sie können Ihr PHP mithilfe der folgenden Anleitung und anderer Methoden optimieren. Dies können Datenbank- oder Netzwerkgründe sein. Durch die Optimierung Ihres PHP-Codes können Sie versuchen, die Engpässe Ihres Systems zu finden.

Aktualisieren Sie Ihre PHP-Version

Ihre Teammitglieder haben darauf hingewiesen, dass die PHP-Engine im Laufe der Jahre viele symbolische Leistungsverbesserungen erfahren hat. Wenn auf Ihrem Webserver noch eine ältere Version ausgeführt wird, z. B. PHP3 oder PHP4. Bevor Sie also versuchen, Ihren Code zu optimieren, sollten Sie sich eingehend mit den Upgrades zwischen den Versionen befassen.

Klicken Sie auf den folgenden Link, um die spezifischen Details zu erfahren:

Port von PHP 4 auf PHP 5

Port von PHP 5.0.x auf PHP 5.1.x

Migration von PHP 5.1.x auf PHP 5.2.x

Caching verwenden

Caching-Module (wie Memcache) oder Vorlagensysteme verwenden (z. B. Smarty) zum Caching. Wir können die Website-Leistung verbessern, indem wir Datenbankergebnisse zwischenspeichern und Seitenergebnisse extrahieren.

Ausgabepuffer verwenden

Wenn Ihr Skript versucht zu rendern, verwendet PHP den Speicherpuffer, um alle Daten zu speichern. Durch das Puffern erscheint Ihre Seite möglicherweise langsam, da der Puffer mit allen zu beantwortenden Daten gefüllt ist, bevor das Ergebnis an den Benutzer zurückgegeben wird.

Glücklicherweise können Sie eine Änderung vornehmen, die PHP dazu zwingt, auf den Benutzer zu reagieren, bevor der Puffer voll ist, wodurch Ihre Website schneller aussieht.

Vermeiden Sie das Schreiben naiver Setter und Getter

Wenn Sie PHP-Klassen schreiben, können Sie Objekteigenschaften direkt manipulieren, was Ihnen hilft, Zeit zu sparen und Verbessern Sie die Leistung Ihres Skripts. Anstatt die Art von Setzern und Gettern, die den Leuten das Gefühl geben, kindisch und lächerlich zu sein.

Im Folgenden sind einige Fälle aufgeführt: Die Hundeklasse bedient das Namensattribut mithilfe von setName() und getName().

class dog {
  public $name = '';
 
  public function setName($name) {
    $this->name = $name;
  }
 
  public function getName() {
    return $this->name;
  }
}
Nach dem Login kopieren

Hinweis: setName() und getName() tun nichts außer dem Speichern und Zurückgeben des Namensattributs.

$rover = new dog();
$rover->setName('rover');
echo $rover->getName();
Nach dem Login kopieren

Wenn Sie das Namensattribut direkt festlegen und darauf zugreifen, kann die Leistung um 100 % verbessert und die Entwicklungszeit verkürzt werden!

$rover = new dog();
$rover->name = 'rover';
echo $rover->name;
Nach dem Login kopieren

Es gibt keinen Grund, Variablen zu kopieren

Um den Code „sauberer“ zu machen, weisen Junior-Phierer manchmal bereits eine Neuzuweisung vor definierte Variablen in eine andere Variable umwandeln. Dies führt effektiv zu einem doppelten Speicherverbrauch (beim Ändern von Variablen), was zu einer Leistungseinbuße des Skripts führt.

Wenn ein Benutzer beispielsweise eine 512-KB-Variable in eine andere Variable einfügt, wird 1 MB Speicher verbraucht.

$description = strip_tags($_POST['description']);
echo $description;
Nach dem Login kopieren

Der obige Code kopiert die Variablen ohne Grund. Sie müssen Variablen nur einfach inline ausgeben, ohne zusätzlichen Speicher zu verbrauchen.

echo strip_tags($_POST['description']);
Nach dem Login kopieren

Vermeiden Sie Schleifen, um SQL-Operationen auszuführen

Ein häufiger Fehler besteht darin, eine SQL-Operation in einer Schleife zu platzieren, was zu häufigem Zugriff auf die führt Was noch wichtiger ist, führt direkt zu einer schlechten Leistung des Skripts. Im folgenden Beispiel können Sie einen Schleifenvorgang auf eine einzelne SQL-Anweisung zurücksetzen.

foreach ($userList as $user) {
  $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
  mysql_query($query);
}
Nach dem Login kopieren

Vorgehensweise:

INSERT INTO users (first_name,last_name) VALUES("John", "Doe")
Nach dem Login kopieren

Anstelle dieses Schleifenschemas können Sie die Daten in einer einzigen Datenbankoperation zusammenfassen.

$userData = array();
foreach ($userList as $user) {
    $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
 }
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);
mysql_query($query);
Nach dem Login kopieren

Prozess:

INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...
Nach dem Login kopieren

Dieser Artikel ist reproduziert von: https://www.cnblogs.com/baochuan/p/3523677.html

Empfohlene verwandte Artikel und Tutorials : PHP-Tutorial

Das obige ist der detaillierte Inhalt vonEinführung in Methoden der PHP-Leistungsoptimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage