Latenz Zeiten Shop4

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.665
143
AW: Latenz Zeiten Shop4

hooks sind andockpunkte für plugins .... wenn du (noch) keine plugins einsetzt, die den hook103 ynsprdchen, wirst du natürlich keine Einbuße feststellen, wenn du den hook entfernst



Wäre es denn nicht möglich das so zu gestalten, das installierte Plugins die verwendeten HOOKs zentral irgendwo eintragen, und alle HOOKs die NICHT benutzt werden per if (o.ä.) gar nicht erst aktiviert werden?

Jaaa, ich weiß - einmalig eine gewaltige Aufgabe, aber sicher im Endeffekt eine gewaltige Performance-Steigerung.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.878
519
Halle
AW: Latenz Zeiten Shop4

Hallo,
Bin echt gespannt, was da tatsächlich ausgeführt wird, und ob es wirklich nötig ist bei jedem Seitenaufruf diesen Hook auszuführen.
Das hängt von deiner konkreten Installation ab. HOOKS sind allgemein die Ankerpunkte, an denen Plugins in den Shop eingreifen können. Der HOOK_SMARTY_INC wird getriggert direkt nachdem die Templateengine instanziiert wurde. Plugins können hier ihre eigenen Parameter setzen oder Einstellungen vornehmen.
Standardmässig dürfte da nur das "JTL Debug"-Plugin dranhängen, was natürlich im Produktivsystem deaktiviert sein sollte. Ansonsten kannst du mal in deinem Plugin-Verzeichnis (includes/plugins) nach info.xml suchen, die ein <Hook id="133"> enthalten. Diese Plugins würdest du mit dem Abschalten des HOOK_SMARTY_INC beeinflussen oder derern Funktion unmöglich machen.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.878
519
Halle
AW: Latenz Zeiten Shop4

Hallo,
Wäre es denn nicht möglich das so zu gestalten, das installierte Plugins die verwendeten HOOKs zentral irgendwo eintragen, und alle HOOKs die NICHT benutzt werden per if (o.ä.) gar nicht erst aktiviert werden?

Genau DAS passiert ja! Die Funktion executeHook in plugin_inc.php prüft als Allererstes ob ein Plugin für diesen Hook registriert ist und macht nur dann weiter. Wenn du also extreme Performanceeinbrüche an dieser Stelle hast, dann wird es in deiner Installation ein Plugin geben, dass sich dort einklinckt.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.665
143
AW: Latenz Zeiten Shop4

Hallo,


Genau DAS passiert ja! Die Funktion executeHook in plugin_inc.php prüft als Allererstes ob ein Plugin für diesen Hook registriert ist und macht nur dann weiter. Wenn du also extreme Performanceeinbrüche an dieser Stelle hast, dann wird es in deiner Installation ein Plugin geben, dass sich dort einklinckt.

Ah, OK - wieder was gelernt.
Danke.

Eine Text-Suche nach dm HOOK hat bei mir ergeben, das es im gesamten Plugin-Verzeichnis nur 3 Plugins gibt die
enthalten.
Das sind jtl_debug, smartydebug und south_dailydeal (Leiche vom Shop3)

Ergo könnte ich gefahrlos den HOOK deaktivieren. (solange keine neuen Plugins dazu kommen die darauf zugreifen wollen)

Mal schauen was passiert - ob es wirklich ein so gewaltiger Speed-Schub ist, wie ganz oben angegeben. Wenn nicht, wird das wieder aktiviert.
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.172
1.078
AW: Latenz Zeiten Shop4

Ich würd das anders verstehen.

WENN du jtl_debug/smartydebug deaktiviert hast (oder deinstallierst), dann gibts ja nix mehr, dass den Hook verwendet, demnach sollte (nach Auskunft von FPrüfer) der Hook ja auch nicht in Verwendung sein und demnach auch keine performance kosten.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.665
143
AW: Latenz Zeiten Shop4

Ich würd das anders verstehen.

WENN du jtl_debug/smartydebug deaktiviert hast (oder deinstallierst), dann gibts ja nix mehr, dass den Hook verwendet, demnach sollte (nach Auskunft von FPrüfer) der Hook ja auch nicht in Verwendung sein und demnach auch keine performance kosten.

ICH hatte das so verstanden das die Ausführung dieser Funktion - egal ob was passiert oder nicht - diese Verzögerung bewirken würde.


Habe das jetzt mal raus genommen und getestet:
Vorher

Nachher

Ergo: Schuibs - wieder rein. Bringt rein gar nichts (bei mir) - vermutlich weil ich (fast) keine Plugins verwende.
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.362
340
Halle (Saale)
AW: Latenz Zeiten Shop4

Man kann sich im Shop 4 recht einfach ansehen, wo im Falle von Hooks Verzögerungen entstehen, indem man kurzzeitig die Zeile
Code:
define('PROFILE_PLUGINS', true);

in die config.JTL-Shop.ini.php einträgt.
Dann einfach ein paar Seite aufrufen (sollte jetzt relativ langsam sein, davon nicht irritieren lassen) und die Zeile wieder entfernen bzw. auf "false" setzen.
Anschließend kann im Backend unter System->Profiler genau gesehen werden, welches Plugin in welchem Hook wie viel Zeit benötigt.

Ansonsten hat Falk vollkommen recht: Hooks müssen nicht irgendwie "deaktiviert" oder auskommentiert werden. Sie werden einzig und allen dann ausgeführt, wenn es mindestens ein (aktives) Plugin gibt, dass sich auf sie registriert hat.
Der Shop selbst nutzt das Hook-System nicht, NUR Plugins.
 

seml0R

Aktives Mitglied
6. September 2012
63
6
AW: Latenz Zeiten Shop4

Ah okay, super für die Hintergrund-Info. Dann muss ich nochmal prüfen, welches Plugin diesen Hook verwendet und dort weiter recharchieren bzw prüfen ob ich das Plugin brauche.

Auf jedenfall kann ich mich scheinbar sehr glücklich schätzen, wenn ich jetzt nur noch 0.4 Sekunden Latency habe, wenn ich die Werte von DITH- Shop lese.

Der Tipp mit dem PROFILE_PLUGINS ist auch sehr nützlich, danke auch dafür. :)
 

MichaelH

Sehr aktives Mitglied
17. November 2008
13.828
1.545
AW: Latenz Zeiten Shop4

Wir haben bei uns nun wieder ein wenig nachgebessert, ich würde mich über Feedback zu den Ladezeiten freuen. (https://www.viverni.com/de/Start)

Der Shop scheint nicht langsam vom "Gefühl" her, aber unter 2 Sekunden ist da nix, nie, manchmal > 3-4 Sek.
Es ist mal schon 1 Sek. "Denkpause" bis sich überhaupt was tut und dann eben noch die Ladezeit, mein Download 25Mbit, mein eigener Shop3 0,7 - 0,9 Sek.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.665
143

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
8
Thailand, Bangkok
AW: Latenz Zeiten Shop4

Der Shop scheint nicht langsam vom "Gefühl" her, aber unter 2 Sekunden ist da nix, nie, manchmal > 3-4 Sek.
Es ist mal schon 1 Sek. "Denkpause" bis sich überhaupt was tut und dann eben noch die Ladezeit, mein Download 25Mbit, mein eigener Shop3 0,7 - 0,9 Sek.

Danke für die Rückmeldung, hast du auch versucht wie es sich verhält wenn du die selbe Seite im Shop zwei Mal aufrufst? Durch den Deploy der Änderungen wurde auch der gesamte ObjektCache geleert, heist wenn du also nun der erste bist der eine Kategorie oder einen Artikel aufrufst wird der Cache erstmal erstellt.
Wieviele Artikel und Kategorien hast du den in deinem Shop3?
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
8
Thailand, Bangkok
AW: Latenz Zeiten Shop4

Naja, das Gefühl des zögerlichen Ladens trügt nicht:

Aber immerhin rendert der Shop viel schneller als meiner...

cFTHHqL.jpg
CsxAcL9.png

Das Problem mit diesen Tools ist mMn das die auch oft abwarten bis sämtliches JS fertig ausgeführt wurde, der User aber schon seit einige Zeit die fertige Seite sieht und praktisch auch benutzen kann. Ich denke der erste Pageload wäre sicher noch zu optimieren, da hier ja alle JS/CSS Dateien erstmalig geladen und dann gecached werden... ist das erstmal geschehen sollten die weiteren Seitenaufrufe (sofern schon gecachetes Resultat vorliegt) alle unter einer Sekunde optisch abgeschlossen sein.
 

Anhänge

  • cFTHHqL.jpg
    cFTHHqL.jpg
    39 KB · Aufrufe: 31
  • CsxAcL9.png
    CsxAcL9.png
    67,2 KB · Aufrufe: 30

MichaelH

Sehr aktives Mitglied
17. November 2008
13.828
1.545
AW: Latenz Zeiten Shop4

Den Anhang 18805 betrachten
Den Anhang 18806 betrachten

Das Problem mit diesen Tools ist mMn das die auch oft abwarten bis sämtliches JS fertig ausgeführt wurde, der User aber schon seit einige Zeit die fertige Seite sieht und praktisch auch benutzen kann. Ich denke der erste Pageload wäre sicher noch zu optimieren, da hier ja alle JS/CSS Dateien erstmalig geladen und dann gecached werden... ist das erstmal geschehen sollten die weiteren Seitenaufrufe (sofern schon gecachetes Resultat vorliegt) alle unter einer Sekunde optisch abgeschlossen sein.

Die Seiten die nie fertig laden "Ladezeit ?s" habe ich hier gar nicht erwähnt ... bei dir sind das meist Produkt-Detailseiten.

Ich verwende: apptelemetry-page-speed-monitor für Chrome, das stimmt mit dem "Gefühl" meist gut überein und das ist das Wesentliche für mich. :)
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
8
Thailand, Bangkok
AW: Latenz Zeiten Shop4

Die Seiten die nie fertig laden "Ladezeit ?s" habe ich hier gar nicht erwähnt ... bei dir sind das meist Produkt-Detailseiten.

Ich verwende: apptelemetry-page-speed-monitor für Chrome, das stimmt mit dem "Gefühl" meist gut überein und das ist das Wesentliche für mich. :)

Gerade die die nicht laden wären aber interessant, da ich keine einzige Seite finde die nicht laden würde !?

Die Extension seh ich mir morgen Mal an, danke.
 

MichaelH

Sehr aktives Mitglied
17. November 2008
13.828
1.545
AW: Latenz Zeiten Shop4

Diese:
https://www.viverni.com/de/Freaky-Nation-Herren-Lederjacke-Brando_7 optisch geladen, aber irgendwie doch nicht ... bleibt eeewig auf ?Sekunden, 10-15 Sekunden lang, und zeigt dann 3.68s und das ist irgendwie nicht "normal". Die Sekunden-Anzeige kommt normalerweise sofort und wird hier aber aus einem unbekannten Grund verzögert.

Bei relaod 1,84s 1.57s ...

Ansonsten sehe ich sowas nur bei Seiten mit endless-scrolling.
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
8
Thailand, Bangkok
AW: Latenz Zeiten Shop4

optisch geladen, aber irgendwie doch nicht ... bleibt eeewig auf ?Sekunden, 10-15 Sekunden lang, und zeigt dann 3.68s und das ist irgendwie nicht "normal". Die Sekunden-Anzeige kommt normalerweise sofort und wird hier aber aus einem unbekannten Grund verzögert.

Soweit ich es sehe liegt das daran, dass die Extension scheinbar wartet bis alle Scriptdateien ausgeführt wurden (also die onLoad und document.ready events usw...). Da bei Viverni alle JS Dateien deferred aufgerufen werden, heist der User bekommt erst die fertige Seite zu sehen, bevor JS ans Werk geht. Reduziert eben die optische Ladezeit. Auf Artikeldetailseiten wird hier noch abgewartet bis der Shop den Call an die io_inc.php abgeschlossen hat um nicht verfügbare Varianten sofort zu markieren. Das zieht sich dann schon Mal ein bisschen... Dazu kommen noch diverse JS calls für die Zopim/Zendesk Integration usw...

Vom technischen Standpunkt her, kann ich messen womit ich möchte und hab mMn gute Resultate... meine Frage hier war auch mehr nach der gefühlten Geschwindigkeit, also ob euch beim Surfen der Shop lahm vorkommt...
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
8
Thailand, Bangkok
AW: Latenz Zeiten Shop4

So, es sind wieder einige Wochen ins Land gezogen und natürlich gibt es auch bei uns Neuerungen.

Wir setzen ja schon seit Beginn XHProf im Zusammenhang mit XHGui ein um die Skriptlaufzeiten zu überwachen. Dabei werden alle Aufrufe die aus dem Firmennetzwerk kommen ausgewertet und 1% aller Aufrufe durch Kunden.
Hier ein Screenshot von gerade eben... 1.000.000
[FONT=&quot] [/FONT][FONT=&quot]µs [/FONT]
entspricht einer Sekunde.
http://image.prntscr.com/image/c9ad251da8a5441d870a56ceeec403fb.png
Die wenigen Aufrufe die mit >1 Sekunden Laufzeit zu sehen sind betreffen Seiten die noch nicht im Cache sind. Für alle anderen Seiten bin ich mit den aktuell erzielten Werten sehr zufrieden. (Die Werte entsprechen ca. der "time to first byte" es kommt noch die Übertragsdauer über das Internet zum User dazu).

Da dies eben nur die Skriptlaufzeit darstellt und nur dabei hilft langsame Skripte zu finden haben wir mittlerweile noch Pingdom im Einsatz um die tatsächliche Ladezeit zu missen, also die Zeit vom Klick bis die Seite dem User fertig dargestellt wird. Und das unter Berücksichtigung von Browser, Land, Gerätetyp (und einigem mehr) und kann trotz kürzeren Serverausfällen die das Messresultat negativ beeinflussen sagen, dass wir innerhalb Deutschland im Schnitt eine Ladezeit von 3.6 Sekunden erreichen konnten, was mMn ein recht guter Wert ist.

Zum Abschluss noch ein Test von WebpageTest.org > http://www.webpagetest.org/result/160708_X7_115B/ (auch bei Test aus anderen Ländern schneidet die Seite mMn gut ab, nur die TTFB bekommt dann eine schlechtere Note da diese zB aus Australien bei ca. 1.3 Sekunden liegt)
Pingdom urteilt ebenfalls, dass die Seite 75% schneller ist als "alle anderen getesten Seiten" > https://tools.pingdom.com/#!/cYMkwv/https://www.viverni.com/eu/Neu-im-Sortiment

Last but not least, haben wir nun endlich die hreflang Tags fertig integriert, sodass jede Seite 500+ Tags aufweist um Google und Co. klar und deutlich zu zeigen für welche Sprach/Landkombination welche Seite im Shop die richtige ist. Ich bin schon gespannt wie sich das in den kommenden Monaten beim Google Ranking in den einzelnen Ländern auswirkt.

Ich freue mich wie immer über euer Feedback und Anregungen.
 
Zuletzt von einem Moderator bearbeitet: