Heim > Artikel > Backend-Entwicklung > Detailliertes Beispiel für die PHP-Leistungsoptimierung
PHP ist eine sehr beliebte Skriptsprache. Viele Unternehmen (Sina, Youku, Baidu, Sohu, Taobao usw.) verwenden diese Sprache für die Website-Entwicklung. Mit diesem Artikel hoffe ich einfach, die Leistung Ihrer PHP-Skripte zu verbessern. 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 die 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 (wie Smarty) für die Caching-Verarbeitung verwenden. 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. Caching kann dazu führen, dass Ihre Seite langsam erscheint, 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.
Ausgabe-Cache-Steuerung
Vermeiden Sie das Schreiben naiver Setter und Getter
Wenn Sie PHP-Klassen schreiben, können Sie Objekteigenschaften manipulieren direkt, was Ihnen helfen kann, Zeit zu sparen und die Leistung Ihrer Skripte zu verbessern. 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; } }
Hinweis: setName() und getName() erledigen keine Arbeit außer dem Speichern und Zurückgeben des Namensattributs.
$rover = new dog(); $rover->setName('rover'); echo $rover->getName();
Das direkte Festlegen und Zugreifen auf das Namensattribut kann die Leistung um 100 % verbessern und die Entwicklungszeit verkürzen!
$rover = new dog(); $rover->name = 'rover'; echo $rover->name;
Es gibt keinen Grund, Variablen nicht zu kopieren.
Um den Code „sauberer“ zu machen, weisen Junior-Phierer manchmal eine bereits definierte Variable einer anderen Variablen zu. Dies führt effektiv zu einem doppelten Speicherverbrauch (beim Ändern von Variablen), wodurch die Leistung des Skripts abnimmt. 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;
Der obige Code kopiert die Variablen ohne Grund. Sie müssen Variablen einfach nur inline ausgeben, ohne zusätzlichen Speicher zu verbrauchen.
echo strip_tags($_POST['description']);
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 Datenbank führt zu geringer 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); }
Prozess:
INSERT INTO users (first_name,last_name) VALUES("John", "Doe")
Anstelle dieses Schleifenschemas können Sie die Daten in einen einzigen Datenbankvorgang 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);
Prozess:
INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...
MySQL INSERT-Syntax
Andere Ressourcen
PHP Memcache-Modul
Smarty Template Engine
http://3v4l.org --- Analysieren Sie die Unterschiede zwischen verschiedenen Versionen Codeausführungseffizienz, sehr gute Website
Zusammenfassung
Es gibt noch viele Leistungsoptimierungen für PHP. Wenn dieser Aspekt zutrifft Wer ein tieferes Verständnis hat, kann es gemeinsam besprechen. Ich werde auch Ihre guten Vorschläge in den Blog-Beitrag aufnehmen, damit sie von anderen PHP-Mitarbeitern als Referenz dienen können. Ein PHP-Benutzer zu sein kann viele PHP-Benutzer verbessern
s Fähigkeit ist eine Frage des großen Stolzes.
Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die PHP-Leistungsoptimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!