XTC - xt:Commerce optimieren
Ziel der Optimierung von xt:Commerce
Es ist sicherlich nicht ausschließlich die Rede vom deutlich in die Jahre gekommenen Rohling xt:Commerce 3.0.4 SP2.1, nein, die folgenden Überlegungen gelten auch für die allermeisten Forks von xtc. Grundgedanke und Ziel der Optimierung soll es sein, die Performance von xtc zu steigern.
Vorgehensweise bei der Optimierung von xt:Commerce
Ein klein wenig Bereitschaft den Core des Systems zu ändern sollte man hier mitbringen. Ich gehe eindeutig auf ein bereits installiertes Shop-System ein und beabsichtige nicht, einen weiteren Fork ins Leben zu rufen. Ein jeder möge selbst entscheiden, ob die Denkanstöße im eigenen System Anwendung finden sollen. Insoweit handelt es sich immer um Einzellösungen.
Datenbankabfragen optimieren und dadurch Performance steigern.
Auf die allermeisten Shops trifft es zu: Es handelt sich um ein rein deutsches Angebot. Dennoch finden bei allen Queries zu Produkten und Kategorien sprachbezogene Abfragen statt (die Sprache ist eine “Bedingung”). Wer sich also im Klaren ist, auch zukünftig kein multilinguales Angebot zu fahren, der kann ohne mit der Wimper zu zucken die Queries um die Language-Bedingungen erleichtern. Unter anderem bieten sich
/includes/modules/default.php
/includes/classes/product.php
/includes/modules/product_*
/templates/<template>/source/boxes/*.php
an, um die Sprach-Abfragen auszukommentieren.
Unnötige Box-Includes entfernen und dadurch Performance steigern.
Manch jemand mag sich zu helfen wissen, indem in
/templates/<template>/index.html
Blöcke wie {$box_ADD_QUICKIE} und {$box_CURRENCIES} entfernt bzw. auskommentiert werden. Dies mag zum Ziel führen, dennoch werden zahlreiche Operationen ausgeführt; nur das Ergebnis wird schlicht nicht angezeigt. Um der Ursache auf den Grund zugehen, sollte man einen Blick in
/templates/<template>/source/boxes.php
werfen. Wer z.B. nicht die Boxen “Kundengruppen”, “Sprachen”, “Währungen”, “Schnellkauf”, “Hersteller”, “Herstellerinfo”, “Produktbewertung” u.a. braucht bzw. anzeigen lassen will, sollte das include auskommentieren. Mit normalsterblichen Mitteln wird man die Änderung der Ladezeit kaum nachvollziehen können. Solange verstanden wird, dass weniger Berechnungszeit im Grundsatz auch weniger Ladezeit nach sicht zieht, hat es sich schon gelohnt :)
