Regina Schaukrug: Seitenladezeiten temporär extrem langsam - Ursache finden

Beitrag lesen

An der Stelle musst Du halt durchhecheln und durchmessen,

define ('DEBUG', true ); # false zum Abschalten

# …

if ( DEBUG ) {
    $debugName      = "DER VON DIR VERGEBENE EINDEUTIGE NAME für die Aktion";
    $debugStartTime[$debugName] = microtime( true );
}
### Hier Deine Aktionen (Befehlszeilen) ###

if ( DEBUG ) {
    error_log("DEBUG: Aktion " . $debugName . " dauerte " . microtime( true ) - $debugStartTime[$debugName] . " Sekunden.");
}

Mit

grep "DEBUG:" /var/log/apache2/error.log

findest Du im Error-Log alle Ausgaben für alle Messungen.

Mit

grep "DER VON DIR VERGEBENE EINDEUTIGE NAME für die Aktion" /var/log/apache2/error.log

kannst Du dann nachsehen wie lange bestimmte Aktionen gedauert haben. Bei Auffälligkeiten musst Du dann tiefer einsteigen und herausfinden warum das so ist. Wie gesagt ist das für Dateisystemzugriffe, Datenbankzugriffe und alle Zugriffe auf externe Ressourcen zu machen. Was dann genau zu tun ist kann man nur im Einzelfall entscheiden und darstellen. Ein "Kochbuch" zu dem Thema mit Abdeckung von nur 5% der wahrscheinlichsten Fälle würde ich mir gut bezahlen lassen…

Update: an verschachtelte Messungen angepasst.