[TYPO3-german] Extbase = Speicherhunger?
Yvon Folz
yvon.folz at googlemail.com
Fri Mar 4 15:58:33 CET 2011
Hallo Christian,
vielen Dank für Deine Antwort.
Am 04.03.2011 15:35, schrieb Christian Zenker:
> Hallo Yvon.
>
>> Extbase = Speicherhunger?
>
> Ja. by design(TM). :)
> Natürlich wird mehr Speicher benötigt, wenn du nicht einfach nur
> Datenbankfelder auf ein Array abbildest, sondern in Objekte mit Methoden
> steckst, sie in einem Repository verwaltest, auf Änderungen hin
> überwachst und entsprechend in der Datenbank updatest, sollte es nötig
> sein. Auch die Schachtelung verschiedener Aufgaben in verschiedene
> Klassen führt zu einem erhöhten Speicherhunger. Dieses "Problem" hat
> aber jedes moderne PHP Framework. Und in der Regel wiegen die Vorteile
> einer solchen Architektur ihre Nachteile auf.
>
Entwicklung mit Extbase ist eine schöne Sache. Die Vorteile überwiegend
auf jeden Fall die Nachteile.
>> Trotzdem beobachte ich bei ein oder zwei größeren Objekten (die über
>> mehrere Tabellen gehen) eine ziemlich hohe Auslastung des Apache
>> Prozesses. Auch die Verarbeitung der Daten geht zäh voran.
>
> Hast du konkrete Zahlen dazu? Wie gesagt, dass Extbase etwas (!) lahmer
> ist als das alte pibase ist nicht ungewöhnlich.
Es geht nicht um eine oder zwei Sekunden. Sondern um 15 bis 20 Sekunden.
>
>> Gibt es Erfahrungen / Möglichkeiten Typo3, bzw. Extbase zu
>> beschleunigen? Wir setzen Typo3 4.4.4 ein.
>
> - TYPO3 Cache - immer wieder gern genommen. Mich stört es nicht so sehr,
> wenn eine Seite bei der Generierung 2 Sekunden statt einer dauert, wenn
> die nächsten 100 Besucher dann auf die Seite im Cache zugreifen können.
> - bei Fluid solltest du aufpassen, dass du die ViewHelper nicht zu sehr
> schachtelst. Um rauszufinden, ob Fluid bei dir die Bremse ist, kann ich
> dir die Fluid Debugging ViewHelper[1] empfehlen. Mit denen kannst du
> einzelne Teile des Template-Renderings im Admin Panel tracken und
> schauen, welche Teile besonders langsam sind. Außerdem kannst du den
> Speicherverbrauch an verschiedenen Stellen beobachten. Die Zahlen sind
> allerdings auch mit Vorsicht zu geniesen, da Extbase möglicherweise
> Daten per LazyLoading nachlädt.
> - in Extbase selbst ist vermutlich der PersistanceManager (persistAll())
> die größte Bremse, da er alle geladenen Objekte auf Änderungen hin
> überprüft. Bei dem ist es nicht ungewöhnlich, wenn er eine halbe Sekunde
> braucht nur um festzustellen, dass er nichts machen muss. Prinzipiell
> solltest du daher darauf achten auch nur die Objekte aus der Datenbank
> zu holen, die du benötigst.
>
> Das sind erstmal die Sachen, die mir spontan einfallen.
>
> Sonst hilft dir vielleicht ein Profiling oder ein selbstgebastelter
> TimeTracker weiter.
Ich schau mir mal die letzten Anmerkungen von Dir an.
Vielen Dank.
Gruß Yvon
>
> Viele Grüße
>
> Christian.
>
> [1] https://github.com/czenker/fluid_debug
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list