profiling.rst 1.87 KB
Newer Older
oskar's avatar
oskar committed
1
2
3
4
5
6
7
8
9
10
Profiling
=========

.. |br| raw:: html

   <br />

MySQL
-----

oskar's avatar
oskar committed
11
12
13
Analog zum :doc:`Plugin-Profiling </shop_plugins/profiling>` erlaubt der Schalter ``PROFILE_QUERIES``, wenn er in der
config-Datei des Onlineshops auf ``true`` gesetzt ist, das Mitschneiden von MySQL-Abfragen und der Dauer deren
Ausführung.
oskar's avatar
oskar committed
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Auch diese Daten werden im Profiler-Bereich des Backends im Tab SQL dargestellt. |br|
Je nach konfiguriertem ``DEBUG_LEVEL`` (Integer-Wert von 0-4) werden mehr oder weniger detaillierte Statistiken zu
abgsetzten SQL-Abfragen über die *NiceDB*-Klasse protokolliert. |br|
Dabei werden die Abfragen des aktuellen Seitenaufrufs gezählt, die Gesamtanzahl ausgegeben oder die betroffenen
Tabellen genannt. Bei einem *Debug-Level > 3* erfolgt außerdem ein Backtrace, der die aufrufende Funktion und Datei
ausgibt.

.. note::

    Beachten Sie bitte, dass bei *Joins* einzelne Abfragen mehrfach unter den einzelnen Tabellennamen erscheinen.

XHProf
------

Der Schalter ``PROFILE_SHOP`` aktiviert *XHProf*, wenn auf ``true`` gesetzt.

oskar's avatar
oskar committed
31
32
Dazu muss *XHProf* installiert und konfiguriert sein. Zudem müssen die Ordner ``xhprof_html/`` und ``xhprof_lib/`` in
den Root-Ordner des Onlineshops kopiert bzw. verlinkt werden. |br|
oskar's avatar
oskar committed
33
Ein Link zum jeweiligen Profil wird anschließend an das Ende des DOMs (via eines einfachen ECHOs) geschrieben. Das ist
oskar's avatar
oskar committed
34
35
36
zwar nicht konform mit dem HTML-Standard, funktioniert für diesen Zweck jedoch sehr gut. Der etwas elegantere Weg wäre
die Installation von *xhgui*, was aber die Installation eines *MongoDB*-Servers erfordert. *Xhgui* kann anschließend
auf diese Daten ebenfalls zugreifen und bietet eine etwas hübschere Oberfläche.
oskar's avatar
oskar committed
37
38
39
40

Plugin-Profiling
----------------

oskar's avatar
oskar committed
41
Auch für die Ausführungszeitmessung von Plugins steht eine JTL-Shop-interne Möglichkeit bereit. |br|
oskar's avatar
oskar committed
42
43

Weiter Informationen entnehmen Sie bitte dem Abschnitt :doc:`"Plugin-Profiling" </shop_plugins/profiling>`.