Performance Optimierung
| Autor | Nachricht |
|---|---|
|
Verfasst am: 11. 02. 2012 [10:53]
|
|
|
Thomas27
Themenersteller
Dabei seit: 10.12.2004
Beiträge: 105
|
Ich hab da mal ne Frage zur Performanceoptimierung von tt_news. Auf meiner Startseite binde ich via typoscript die letzten drei Newsbeiträge ein: TYPOSCRIPT ### News LATEST in right column #default news > news = COA_INT news.5 = TEXT news.5.value = <h5>NEWS</h5><div class="feeds"><a href="http://feeds2.feedburner.com/xxx" target="_blank"><img src="http://xxx.de/feed-icon-64x64.png" border="0" alt="xxx" /></a></div> news.10 < plugin.tt_news news.10 { code > code = LATEST pid_list > pid_list = 50 # the pids of the pages where your news are stored catImageMode = 0 catTextMode = 0 singlePid = 49 #killt den wrapper <p> displayLatest.subheader_stdWrap.outerWrap = | archive = 0 archiveTypoLink.parameter = 15 sys_language_mode = strict } HTML php/substituteMarkerArrayCached 1500 1 Cached from DB /Non-cached objects/Include 1501 0 +791 =791 [/Non-cached objects/Include /5][/Non-cached objects/Include /10] /Non-cached objects/Include /5 TEXT 1501 0 <h5>NEWS</h5><div class="feeds"><a href="http://feeds2.feedburner.com/xxx" target="_blank"><img src="http://xxx/feed-xxxg" border="0" alt="xxx" /></a></div> /Non-cached objects/Include /10 USER 1501 790 +1 =791 ... template ausgabe Für diese 3 kleinen Beiträge braucht es aber 791 ms???? Kann ich irgendwie typo3 mitteilen, dass er sich diese 3 letzten Beiträge aus dem Cache holt? Oder kann man generel COA_INT Objekten cachen? |
|
Verfasst am: 11. 02. 2012 [13:28]
|
|
|
lisardo
Dabei seit: 20.10.2005
Beiträge: 306
|
Hallo, Antwort: nein, kann man nicht. Und das ist kein Bug sondern ein Feature: COA / COA_INT Also nimm einfach COA statt COA_INT. Peter, TYPO3 @ lisardo (Augsburg) [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 11.02.2012 um 13:31.] |
|
Verfasst am: 11. 02. 2012 [15:38]
|
|
|
Thomas27
Themenersteller
Dabei seit: 10.12.2004
Beiträge: 105
|
Danke lisardo, Gut zu wissen! Typo3 Grundkenntnisse! Aber: HTML NEWS COA 1041 0 +612 =612 [page.10.marks.NEWS.5][page.10.marks.NEWS.10] 5 TEXT 1041 0 <h5>NEWS</h5><div class="feeds"><a href="http://feeds2.feedburner.com/xxx" target="_blank"><img src="http://image.mp3tht.de/feed-icon-64x64.png" border="0" alt="xxx" /></a></div> 10 USER 1041 611 +1 =612 Trotzdem verbrät eine Select Abfrage auf die letzten drei news Artikel 612ms??? Erscheint mir immer noch viel zu viel Zeit, für so eine einfache Abfrage. |
|
Verfasst am: 11. 02. 2012 [16:35]
|
|
|
lisardo
Dabei seit: 20.10.2005
Beiträge: 306
|
Da gebe ich dir prinzipiell schon recht ... aber das rauszubekommen ist nicht so simpel. Ich vermute, dass es sich nicht nur um eine einzige SELECT-Anfrage handelt (obwohl das in dem Fall wohl möglich wäre). Prinzipiell steht hinter der LATEST-Ausgabe auch eine Katgeorien-Auswahl, die ihrerseits baumartig aufgebaut sind und in unendlicher Tiefe verschachtelt sein können. Die Kategorien sind über eine MM-Tabelle relational mit den Einträgen verknüft. Ausserdem müssen die enable-Felder (frontend-user, hidden, deleted, von / bis) berücksichtigt werden (und zwar in den Einträgen sowie in den Kategorien), die pid der Seite, auf der die Daten abgelegt wurden (wichtig für die mehrfache Verwendung der Extension im Seitenbaum) sowie der Sprachoverlay samt Fallback auf die Standardsprache abhängig von den Einstellungen in config. Ausserdem sollten die Workspaces und Versions berücksichtigt werden. Das ist schon mal keine "einfache" SELECT-Abfrage mehr ... Danach folgt das Parsen der RTE-Inhalte und der Rendering-Vorgang der Newsinhalte in die Templates und dann erst die nachgeordnete Verarbeitung durch die stdWrap-Einstellungen. Also da hängt ganz schön was dran - und um das eigentliche Performance-Problem zu finden, muss man sich da durchdebuggen. Dann ist in deinem kleinen Snippet noch was drin, nämlich der Link auf das Feedburner-Icon. Bist du sicher, dass du nicht eigentlich den Ladevorgang diese dieses Icons mißt? Der Abruf eines Icons über einen eigenen http-Requests hat eine relevante Dauer. Nimm mal alles raus, bis auch den reinen Output der News, dann wird es aussagekräftiger. Peter, TYPO3 @ lisardo (Augsburg) [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 11.02.2012 um 16:42.] |
|
Verfasst am: 11. 02. 2012 [17:14]
|
|
|
Thomas27
Themenersteller
Dabei seit: 10.12.2004
Beiträge: 105
|
Da hast du recht, es sind mehrere Selects, wenn ich mir die im AdminPanel anschaue. Aber selbst wenn ich meinen eigenen Krempel mal auskommentiere, also Icon, Archiv, Standard Wrapper komme ich immer noch auf stolze 632 ms. Die machen also den Braten nicht fett. Gibt es vielleicht eine eigene Extension, die Performance orientiert z.B. wirklich nur die drei letzten News Beiträge ausgibt, ohne auf Kategorien etc. Rücksicht zu nehmen? Die andere Alternative wäre natürlich sich gleich selbst ein kleines PHP Skript zu basteln, welche dann genau die Aufgabe übernimmt. Aber auf jeden Fall Danke für die ausführliche Erklärung! |



