contao/test — Issue #1390: Performance Optimierungen: Mootools.scripte und cron.php
Author: importer
Created: 2011-11-29 07:50:48+00:00
State: open
Labels: Feature, frontend

Migriere gerade eine sehr einfache Vereinsseite mit statischen HTML Seiten auf Typolight.
Habe zunächst das Seitendesign unverändert in Typolight übernehmen können.
Sowohl die neue Typolight Version als auch die alten Html Seiten liegen auf dem gleichen Shared Server.
Kann daher sehr schön die Performanceunterschiede der beiden Versionen vergleichen.

In Typolight 2.8RC2 habe ich konfiguriert:
Browser und Servercache, 24h, alle Mootools deselektiert, "Nicht durchsuchen, Diese Seite nicht in den Suchindex aufnehmen."

Mit Firebug habe ich die Seiten mehrmals aufgerufen und die folgenden Antwortzeiten ermittelt.
Wegen dem Shared Server natürlich mit nennenswerter Varianz. Notiert habe ich daher nur die Bestcases.
Durch Neuladen konnte ich auch den Zeitbedarf bei dem erstmaligen Aufruf einer Seite ermitteln. (Wegen meiner Wiederholungen sollten die Server Caches natürlich gefüllt sein)

Erstaufruf einer Seite (leerer Browsercache)
210 ms alte HTML Webseite
800 ms Typolight Version

In Firebug fielen dabei sofort die Dateien mootools-core.js, mootools-more.js und cron.php auf.
1.) Auch wenn kein einziges mootools selektiert wird, werden die mootools scripte immer in jede Seite integriert.
2.) Obwohl die Seitenindizierung explizit abgeschaltet wurde, wird der Aufruf der Datei cron.php in jede Seite integriert

Habe daraufhin das Standard Seitentemplate fe_page angepasst und die Zeilen mit den mootools scripten und dem cron.php auskommentiert.
Jetzt erhalte ich folgende Ergebnisse:

Erstaufruf einer Seite (leerer Browsercache)
210 ms alte HTML Webseite
260 ms Typolight Version mit angepasster fe_page
=> Typolight hat jetzt eine geniale Performance!

![](

Natürlich werden die meisten Nutzer das Verhalten bei Erstaufruf einer Seite mit Antwortzeiten weiter unter 3 Sekunden sowieso schnell vergessen, solange die Folgeseiten dann zügig präsentiert werden. Aber gerade auf einem Shared Server gibt einem die obige Optimierung der Webseite die Reserven um auch einem Sonntag Nachmittag noch performant zu erscheinen.

Bei den Folgeaufrufen einer Seite (gefüllter Browsercache) ergaben sich folgende Ergebnisse:
0 ms alte HTML Webseite (wird vollständig aus Browsercache bedient)
600 ms Typolight Version mit Standard fe_page

Dabei hat Typolight die html- und den cron.php Datei erneut aufgerufen.
Bei einigen Wiederholungsversuchen wurde auch nur die cron.php ohne die html Datei aufgerufen.
In diesen seltenen Fällen hat Firebug nur 100 ms gemessen. Eine Systematik konnte ich nicht erkennnen.
Es wurde jedoch immer mindestens die cron.php Datei aufgerufen.

Mit der oben erwähnten, angepassten fe_page konnte der Aufruf der cron.php Datei dann entfernt werden und es ergaben sich für Typolight folgende Ergebnisse:
0 ms Bestcase, jedoch nur selten
160 ms häufgster Fall: Aufruf der html Seite (manchmal auch nur der css Datei)

=> Wann und warum manchmal die html Datei oder sogar die css Datei aufgerufen wurde erschliesst sich mir nicht.
Es bleibt aber in jedem Fall eine Verbesserung von 600 ms auf mindestens 160 ms, manchmal sogar auf 0 ms.

Obwohl die guten Ergebnisse der Standard Typo Konfiguration jenseits von einem Problem zu sein scheinen, sind die subjektiven Unterschiede durchaus deutlich spürbar) Und insbesondere auf einem Shared Server zählt jede Millisekunde, die einem als Reserve bleibt bevor ein Webauftritt peinlich wird.

Zusammenfassung des Feature Request:
Optimierung der fe_page:

1.) Wenn kein Mootool template selektiert ist, sollen auch die beiden Mootool Scripte (mootools-core.js, mootools-more.js) nicht in die Seite integriert werden. (Das ermöglicht dann auch den problemlosen Einsatz von nicht Mootol kompatiblen Skripten im Frontend)

2.) wenn "nicht durchsuchen" selektiert ist, soll in die Seite der Aufruf der cron.php nicht integriert werden.

--- _Originally created by Georg on January 10th, 2010, at 09:53pm (ID 1390)_