Real World Backend-Performance-Optimierung

Ich zeige an einem konkreten Beispiel, wie man herausfindet, wieso ein TYPO3 Backend (PHP Aufruf) langsam ist. Wie man dies mittels Composer patches behebt und die entsprechenden Tickets aufmacht, sowie die Patches upstream bringt.

  • https://xdebug.org/docs/profiler
  • profiler_output_name konfigurieren, um bspw. den Request statt der ProzessID im Dateinamen zu verwenden
  • Ansicht der Profildatei: kcachegrind oder Integration in PhpStorm
  • sortieren nach self, um die Ausführungszeit pro Funktion zu sehen
  • slow_query_log in MySQL aktivieren. Schwellenwert so setzen, dass man mit den langsamsten Queries starten kann.
  • EXPLAIN SQL Statement => zeigt Infos, wo man Indizes setzen könnte
  • Indizes idealerweise in Reihenfolge der Nutzung in WHERE anlegen
  • using filesort weißt auf eine Überschreitung des Arbeitsspeichers hin (Auslagerung in temporäre Datei). Wenn Indizes nicht helfen, kann eventuell der Arbeitsspeicher erhöht werden.

 

Daniel Siepmann
04.11.2023 12:00 - 12:45 Hörsaal 3
Talk Advanced / Basic knowledge

Sessionplan

Hier geht es zum Sessionplan