« Mai 2012»
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Kategorien

Blogrolls

Letzte Kommentare

Inline
04.02.2011 13:09

Archiv

Kopieren Sie diesen Link in Ihren RSS-Reader

RSS 0.91Nachrichten
RSS 2.0Nachrichten

Meist gelesene Posts

Wochentag lokalisiert mit Fluid aus einem DateTime Objekt...
918 mal angeschaut
03.02.2011 15:38
TYPO3 Backend Layouts
675 mal angeschaut
27.04.2011 23:57
TYPO3 4.5 und kb_nescefe und Security Token
658 mal angeschaut
18.03.2011 17:43
JQuery und IE9
625 mal angeschaut
24.03.2011 10:31

Zur Zeit wird gefiltert nach: typogento
Filter zurücksetzen

01.12.2010
11:32

TYPO3 und Magento mit oder ohne TypoGento?

Den ersten "richtigen" Blog Eintrag möchten wir dem Thema TypoGento widmen. Dies aus gegebenen Anlass: wir sind in den Relaunch einer größeren Webseite involviert. Hier sollen die beiden weit verbreiteten Systeme TYPO3 und Magento zusammenspielen.

Der Magento Teil wurde Off-Shore entwickelt, so dass wir für die TYPO3 Implementierung sowie die Schnittstellen Realisierung zwischen den beiden Systemen verantwortlich sind. TypoGento sollte es nun ermöglichen, Magento in die von uns entwickelte TYPO3 Installation nahtlos zu integrieren.

Leider kam es dann zunächst zu erheblichen Performance Problemen, die nicht einfach zu lokalisieren waren, da wie sich nach und nach herausstellte, mehrere Faktoren dazu führten:

  • zunächst hatte der Dienstleister, der für Magento zuständig ist, die Magento Templates "suboptimal" programmiert, so dass Magento alleine schon sehr langsam lief. Das Magento viel Resourcen braucht, ist ja kein Geheimnis, aber man kann auch in der Magento Programmierung das System weiter ausbremsen ;-) Im ersten Schritt wurde hier nachgearbeitet: z.B. unnötige Schleifen entfernt und die Templates auf die aktuelle Magento Version angepasst, so dass auch neue Features von Magento wie Flat-Tables aktiviert werden konnten. Ergebnis: Magento alleine lief nun wie gewünscht.
  • leider lief TYPO3 mit integriertem Magento immer noch sehr langsam. Mit sehr langsam meinen wir Ladezeiten von mehr als 10 Sekunden. TYPO3 alleine, war wie gewohnt im Millisekundenbereich - Magento nun auch ganz ok - warum immernoch diese langen Ladezeiten? Wie sich hier herausstellte lag es am Hosting: Wir haben sowohl TYPO3 als auch Magento auf unseren Server kopiert und hier lief TYPOGento mit akzeptabler Geschwindigkeit: unter 3 Sekunden. Der Provider, der das Hosting betreut konnte dann nach einiger Recherche herausfinden, dass TYPOGento immer dann langsam ist, wenn die Datenbank auf dem anderen Node als der Webserver lief (das ganze ist ein Fail-over Cluster auf dem jeweils auf einem Node der Webserver und auf dem anderen die Datenbank läuft).

 

Die beiden hauptsächlichen Performance Killer waren somit suboptimale Programmierung von Magento sowie das Setup des Hostings.

Dennoch noch ein paar Gedanken zu dem Sinn oder Unsinn einer Integration:

Vorteile:

  • nahtlose Integration - der Besucher bekommt überhaupt nicht mit, das es zwei Systeme sind
  • Magento Features wie Navigation oder Warenkorb können direkt in die TYPO3 Seite integriert werden

Nachteile:

  • für jede Seite müssen immer zwei komplette System ausgeführt werden. "Nur" um den Warenkorb anzuzeigen, muss daher jedesmal komplett Magento ausgeführt werden.
  • komplexeres System Setup (siehe Hosting Probleme)

Performance!?

Wie performant kann das ganze sein? Um Performance Einbußen auf Magento Seite auszuschließen haben wir ein aktuelles Magento installiert, die Demo Produkte importiert und die Blank Theme aktiviert. Der Server ist nur wenig für Magento optimiert worden - es läuft eAccelerator und die Datenbank mit den von Magento empfohlenen Werten. Auf Laden eines Teils von Magento in eine RAM Disk o.ä. wurde verzichtet. Es geht ja nur darum herauszufinden, wieviel langsamer beide Systeme im Zusammenspiel sind, im Vergleich zu der Performance der Systeme, wenn Sie einzeln laufen.

Und hier das Ergebnis (gemessen ganz simple mit dem Firebug):

  • eine Kategorieseite in Magento läd mit rund 800ms
  • eine TYPO3 Seite (ohne Magento) läd mit rund 150ms
  • im Zusammenspiel mit TypoGento läd die Seite mit rund 1,6s

 

Wenn man die Laufzeiten der einzelnen Syteme addiert kommt man somit auf 950ms dem stehen dann 1.600ms entgegen - also ein Gap von 650ms.

Ich denke man könnte Magento durch entsprechende Maßnahmen sicherlich schneller bekommen - es wäre dann zu überprüfen, ob der Gap dann geringer wird.

Fazit

Es ist abzuwägen, ob eine Integration der Systeme wirklich sinnvoll ist. Der erste Gedanke ist generell nur ein System zu verwenden. So hat Magento grundlegende CMS Funktonalitäten und auch rein mit TYPO3 lassen sich Shops realisieren. Allerdings ist der Funktionsumfang nicht wirklich vergleichbar. Mit der commerce Extension von TYPO3 gibt es zwar den Versuch das schon etwas eingestaubte tt_products abzulösen, aber bis commerce den Funktionsumfang von Magento erreicht hat wird - wenn überhaupt - vermutlich noch einige Zeit vergehen.
Die CMS Funktionalitäten von Magento lassen sich wohl kaum mit TYPO3 und den vielen Extension von TYPO3 vergleichen.
Daher gibt es wohl gute Gründe bei entsprechend großen Seiten auf beide Systeme zu setzen. Dann sollte man überlegen, ob es nicht ausreichend ist, von TYPO3 auf Magento Seiten zu verlinken und vice versa. Man kann in diesem Fall Magento in ein Unterverzeichnis von TYPO3 installieren, so dass der Besucher auch nicht (durch ein Domainwechsel) mitbekommt, das er auf einem anderen System ist. Einzig der "Rahmen" und die erste Ebene der Navigationen müssen nun auf beiden Systemen synchron gehalten werden. Die sind jedoch in den meisten Fällen mehr oder weniger statisch.

Zurück