Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Profiling und Leistung

Herausfinden, wo eine Anwendung ihre Zeit verbringt - exp:benchmark im HTTP-, Kernel- und Mikromodus, der Vergleich mit einer Baseline, Zeiten und Abfragen in der Debug-Leiste, OPcache und Velocity sowie die üblichen…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/app-creators/profiling-and-performance.md

On this page

This page is a translation. Read the English original

Profiling und Leistung

Diese Seite richtet sich an Anwendungsentwickler, die Code schneller machen. Messen, eine Sache ändern, erneut messen (Benchmarking, Benchmark-Referenz).

Inhalt

  1. Seiten messen
  2. Innerhalb einer Anfrage
  3. Fair vergleichen
  4. Die üblichen Ursachen

Seiten messen

php bin/php/console exp:benchmark --save=var/benchmark/base.json --allow-root-user
# change something
php bin/php/console exp:benchmark --baseline=var/benchmark/base.json --threshold=15 --allow-root-user
php bin/php/console exp:benchmark --cold --requests=50 --allow-root-user   # past the response caches

Der Befehl ruft die Startseite, Menüseiten, die Suche und die Anmeldung der Administration nach dem Aufwärmen jeweils 100-mal ab und gibt Median, p90, p99 und weitere Werte aus.

Innerhalb einer Anfrage

  • exp:benchmark kernel --repeat=30 misst im selben Prozess den Start, das Rendern (kalt und warm), das Laden der INI, einen Inhaltsabruf, einen Datenbank-Roundtrip sowie Schreib- und Lesevorgänge im Cache.
  • exp:benchmark micro misst reine PHP-Hotpaths ohne HTTP und ohne Datenbank.
  • Die Debug-Leiste zeigt für jede Anfrage die SQL-Abfragen, Templates und Zeiten (Exp-Debug-Leiste).
  • Unter Velocity zeigt das Profil des Opcode-Caches, warum eine Seite so viel kostet, wie sie kostet (Velocity und der Opcode-Cache).

Fair vergleichen

Dieselbe Maschine, nichts anderes läuft, OPcache wie in der Produktion, Xdebug aus, und beurteilen Sie zwei Server nur anhand von Läufen, die direkt nacheinander gemacht wurden. Jeder Lauf zeichnet seine Umgebung auf, und ein Vergleich mit einer Baseline aus einer anderen Umgebung weist darauf hin.

Die üblichen Ursachen

SymptomUrsacheAbhilfe
Viele Abfragen pro SeiteAbrufe in Schleifen, load_data_map bei Listeneinmal abrufen, begrenzen, Cache-Block
Langsamer erster Aufruf nach dem DeploymentCaches geleertaufwärmen (php bin/php/warm.php)
Langsam unter Velocity nach einer ÄnderungWorker nicht neu gestartet oder OPcache prüft nicht neuexp:velocity deploy
Langsames Veröffentlichenaufwendige Arbeit in Workflows oder Listenernin eine Warteschlange verlagern
Langsame Listen in der Administrationunbegrenzte Zählungenseitenweise Abfragen

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x