Sie können auch PHP-Profile erstellen, indem Sie einen beliebigen Profiler verwenden. Mein bevorzugter ist XDebug:
http://www.xdebug.org/docs/profiler
Sie müssen keines Ihrer Skripte ändern.
Dies sollte schnell auf die Engpässe hinweisen; Es wird auch beim MySQL-Teil helfen. Obwohl MySQL über eine eigene Berichterstellung verfügt, befinden Sie sich möglicherweise in einer Situation, in der das Skript 1000 Mal hintereinander dieselbe (schnelle) Abfrage ausführt. MySQL würde dies nicht melden, aber Sie würden von XDebug bemerken, dass eine Funktion so oft für nur eine Seite aufgerufen wurde.
Sie können eine erste Umfrage auf einem Entwicklungsserver durchführen. Optimierungsprobleme werden schnell angezeigt. Finden Sie in Ihren Produktionsprotokollen heraus, welche Seiten am häufigsten besucht werden, und analysieren Sie sie zuerst auf dem Entwicklungsserver.
Wenn Sie weiterhin eine Profilerstellung auf dem Produktionsserver durchführen müssen, sollten Sie diese für eine Teilmenge der Anforderungen zufällig aktivieren, um die Last zu minimieren. Aus den Dokumenten:
Sie können den Profiler auch selektiv mit der Einstellung xdebug.profiler_enable_trigger aktivieren, die auf 1 gesetzt ist. Wenn er auf 1 gesetzt ist, können Sie den Profiler mithilfe einer GET / POST- oder COOKIE-Variablen mit dem Namen XDEBUG_PROFILE aktivieren
Apache mod_rewrite hilft beim transparenten Hinzufügen der GET-Variablen, ohne dass diese an den / vom Benutzer übergeben wird.