Profiling einer WordPress-Website für die Bereitstellung auf Shared Hosting?

16

Ich habe ein Problem mit der CPU-Auslastung auf meiner Website und suche nach einer Möglichkeit, die Ursache zu ermitteln (und zu beheben). Ein Thema, das in dieser Frage nicht behandelt wird .

Nachdem ich Hakre hier beantwortet habe , ist mir jetzt klar, dass ich meine PHP-Aufrufe profilieren muss.

Ist es sinnvoll, die Website auf meinem eigenen Computer zu platzieren, den Profiler auszuführen und diese Informationen zur Verbesserung meiner Website zu verwenden?

Irgendwelche anderen Vorschläge, wie man das am besten macht?

Tal Galili
quelle

Antworten:

7

Profiling mit Profiler-Plugins

Sie wissen nicht genau, was Sie mit Ihrem Profiling erreichen sollen, aber WP Tuner (Wordpress Plugin) ist ein wichtiger Schritt , um herauszufinden, was Ihre WP-Installation verlangsamt.

Es untersucht jedes Plugin und gibt Ihnen die Speicher-, CPU-Zeit- und SQL-Abfragen an.

Der SQL-Monitor (Wordpress Plugin) analysiert die SQL-Leistung.

Wenn Sie es mit W3 Total Cache (Wordpress Plugin) kombinieren , sollten Sie auf jeder Plattform eine bessere Leistung erzielen.

Verwenden Sie auch die transiente API, um Fragmente zu speichern, die Sie nicht jedes Mal generieren müssen. Dies kann bei einer langsamen Datenbank sehr hilfreich sein.

Andrew
quelle
3

Wir haben auf XHProf einen PHP-Profiler aufgebaut, der auch das Ausgabeformat callgrind verwendet. Der Hauptvorteil gegenüber XDebug ist der erheblich geringere Overhead und die bessere Handhabung von rekursiven Funktionen sowie die XHProf-artige Profilerstellung für Start- und Endfunktionen, die automatisierte Komponententests ermöglichen.

Sie können es unter http://www.exteon.ro/en/products/php-tools/web3tracer sehen

Sie müssen es zwar kompilieren und auf Ihrer Testbox verwenden oder Ihren Hosting-Anbieter bitten, es zu installieren, aber es ist unwahrscheinlich, dass er dies tut.

Dinu
quelle
2

Profiling mit Xdebug

Ich habe nach einigen Links gesucht, damit das Thema leichter gelesen werden kann. Ich habe nach PHP-Profiling mit XDebug gesucht, was ich vorschlagen würde:

Zum Anzeigen der Profilerstellungsergebnisse auf der Remote-Site kann Webgrind hilfreich sein. Es ist eine PHP-Anwendung, die die Profiler-Ausgabe zusammenfasst.

Ich bin mir nicht sicher, ob es möglich ist, alles in Form eines WordPress-Plugins bereitzustellen (zumindest ist mir keines bekannt und ich glaube nicht, dass derzeit etwas verfügbar ist). Möglicherweise müssen Sie dies tun Nehmen Sie einige Einstellungen / Konfigurationen / Profile selbst vor.

hakre
quelle
-1

Ja, es ist durchaus sinnvoll, die Website auf Ihrem eigenen Computer zu profilieren. Sie müssen die Umgebung einschließlich des Webservers installieren und die Site mit einem Profiler Ihrer Wahl profilieren.

Unter Windows ist die lokale WordPress-Installation dank des Web Platform Installer extrem einfach. Ein-Klick Wordpress installieren einschließlich aller Voraussetzungen von hier .

Marek
quelle
1
Hmm, die Verwendung eines anderen Betriebssystems als das, auf dem die Site ausgeführt wird (höchstwahrscheinlich Unix oder Linux), ist für die Profilerstellung irgendwie nutzlos. Die Profilerstellung sollte in einer Umgebung erfolgen, die der Zielumgebung möglichst nahe kommt.
Hakre
1
Code ist Code. Wenn es in einem bestimmten Plugin einen echten Engpass gibt (und danach handelt es sich beim OP), erkennt die Profilerstellung dies, unabhängig davon, auf welchem ​​Betriebssystem es ausgeführt wird. Außerdem hat er nicht angegeben, unter welchem ​​Betriebssystem sein Webhost läuft. Entschuldigung, ich bin nicht mit anderen Betriebssystemen vertraut. Ich habe den Link zum Windows-Installationsprogramm hauptsächlich als Referenz bereitgestellt.
Marek
Marek - danke für deinen Link und antworte. Hakre, ich verstehe Ihren Standpunkt, obwohl ich vermute, dass das Plugin-Profiling auf beiden Betriebssystemen ziemlich ähnlich ist, stimmt das nicht?
Tal Galili
Kommt auf das Plugin an. Ich würde einfach nicht riskieren, Messungen unter einem anderen Systemtyp als dem Lebenssystem durchzuführen, um diesem nahe zu kommen. Kann nur Kopfschmerzen verursachen und du siehst an den falschen Stellen usw. - daneben kannst du dich unter Linux besser profilieren als unter Windows. Siehe: hakre.wordpress.com/2010/09/09/…
hakre