15 Stimmen

PHP-Leistung

Was kann ich tun, um die Leistung/Geschwindigkeit meiner PHP-Skripte zu erhöhen, ohne Software auf meinen Servern zu installieren?

2voto

Das Einfügen von Dateien ist langsam, und das Anfordern von Dateien ist noch langsamer. Wenn Sie __autoload zum Einbinden jeder Klasse verwenden, summiert sich das.

Ich bin immer etwas misstrauisch, wenn es darum geht, den Code zu sehr zu optimieren, wenn dies auf Kosten der Klarheit des Codes geht. Wenn man den Code unübersichtlich machen muss, um ihn schnell zu machen, wäre es dann nicht billiger, die Hardware aufzurüsten, anstatt seine Zeit damit zu verschwenden, den Code zu optimieren? Prozessorzyklen sind schließlich billiger als Programmiererzyklen.

1voto

Dave Marshall Punkte 7177

Die, an die ich denken kann...

  • Schleifeninvarianten sind immer ein gut zu beobachten.

  • E_STRICT und E_NOTICE schreiben kompatiblen Code, insbesondere wenn Sie Fehler protokollieren.

  • Vermeiden Sie den @-Operator.

  • Absolute Pfade für requires und enthält.

  • Verwenden Sie wann immer möglich strpos, str_replace usw. anstelle von regulären Ausdrücken.

Dann gibt es noch eine Reihe anderer Methoden, die vielleicht funktionieren, Ihnen aber wahrscheinlich nicht viel bringen werden.

0voto

Mike Stone Punkte 43560

Wenn ich mich mit Leistungsproblemen befasse, ist es meiner Meinung nach am besten, zu messen, wie lange Ihre Seiten zum Ausführen brauchen, und dann die langsamsten Seiten zu untersuchen. Wenn Sie diese realen Messwerte erhalten, können Sie die Leistung der langsamsten Seiten oft um Größenordnungen verbessern, indem Sie entweder eine langsame SQL-Abfrage korrigieren oder vielleicht den Code etwas straffen.

Dies erfordert natürlich keine neue Hardware oder spezielle Software, sondern lediglich einen kritischen Blick auf den bestehenden Code.

Allerdings funktioniert das nur eine gewisse Zeit lang... wenn Sie wirklich so viel Datenverkehr haben, dass Ihre Hardware an ihre Grenzen stößt, und/oder wenn es einen Code gibt, der einfach von Natur aus langsam ist und wirklich benötigt wird, müssen Sie andere Möglichkeiten in Betracht ziehen.

0voto

Eric Goodwin Punkte 2956

Ich bin für ein großes Berichtssystem verantwortlich und wir verfolgen die langsamsten Berichte auf diese Weise. Ich gebe einen eindeutigen Schlüssel in die Datenbank ein, wenn der Bericht beginnt, und wenn er fertig ist, kann ich feststellen, wie lange er gedauert hat. Ich verwende die Datenbank, weil ich auf diese Weise feststellen kann, wann die Seiten eine Zeitüberschreitung haben (was häufiger passiert, als mir lieb ist).

0voto

Barrett Conrad Punkte 1858

Befolgen Sie zunächst einige der anderen Ratschläge, wie z. B. die Profilerstellung und gute Entscheidungen über die Ressourcenzuweisung, z. B. Caching.

Berücksichtigen Sie auch die Leistung von externen Ressourcen wie Ihrer Datenbank. In MySQL können Sie die langsames Abfrageprotokoll zum Beispiel. Stellen Sie außerdem sicher, dass Sie Ihre Datenbank nicht entworfen haben und sie dann vergessen haben. Optimieren Sie Ihre Abfragen ( wieder für MySQL ) gegen reale Daten kann sich auszahlen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X