Beste Einstellungen für gute Shopperformance

Hallo, wer kann Tips geben, was man z.B. bei den Cachzeiten angeben muß, um eine gute Performance zu erreichen? Wo kann man was am Shopsystem verändern, damit er Performant ist?

Ich schließe mich der Frage an… Meine Installation ist mit aktuell knapp über 1000 Artikeln sehr lahm unterwegs. Seitenwechsel benötigen schonmal 3-25 (!) Sekunden. Ich wollte mit dem Shop eigentlich diese Woche produktiv gehen. Aber das kann man ja keinem Kunden zumuten… Shopware läuft bei mir auf einem All-Inkl Privat Plus Tarif. Evtl. ist dies nicht ausreichend?!

Same here! Gleicher Tarif, gleiches Problem, auch mit deutlich weniger Artikeln… Wer kann denn von einer guten Performance berichten und mit welchem Provider / welchen Einstellungen? Herzlichen Dank! Grüßend - litzab

[quote=„Christian“]Ich schließe mich der Frage an… Meine Installation ist mit aktuell knapp über 1000 Artikeln sehr lahm unterwegs. Seitenwechsel benötigen schonmal 3-25 (!) Sekunden. Ich wollte mit dem Shop eigentlich diese Woche produktiv gehen. Aber das kann man ja keinem Kunden zumuten… Shopware läuft bei mir auf einem All-Inkl Privat Plus Tarif. Evtl. ist dies nicht ausreichend?![/quote] Was sagt denn FireBug zu den Ladezeiten (Netzwerk-Tab)? Für „Shared Hostings“ sind solche Shop-Boliden wie Shopware, OXID und Magento i.d.R. sicher nicht geeignet, da helfen auch keine Einstellungen. Das ist der Tribut den die Objekt-Orientierung fordert. Was da an Daten bewegt wird ist enorm. So ein prozedurales xtc oder Gambio ist da wesentlich anspruchsloser. Da muss man sich wohl schon einen dedizierten Server gönnen. Host-Europe und Domainfactory bieten so im 20 €/Monat Bereich auch Shared Hostings an, die vielleicht(!) gerade noch so ausreichen…

Das Problem bei Shared Hosting ist ja auch meist, dass sich auf demselben Server dutzende, meist wohl eher hunderte weitere Kunden befinden, die ihre Kapazitäten mal mehr, mal weniger nutzen. Nicht umsonst sind diese Pakete so günstig und ein Provider wird so viele Kunden auf einen Server quetschen, wie es nur geht. Man kann bei diesen Angeboten mal etwas Glück haben und es sind noch nicht so viele Kunden drauf oder die “Nachbarn” nutzen ihren Webspace kaum. Das ändert sich aber schnell, denn die Provider zeichnen CPU, RAM, Netzwerkdurchsatz, usw. auf und wenn da ein Server noch Luft nach oben hat, kommen eben nochmal Kunden drauf. Ungenutzte Kapazitäten sind totes Kapital. Sucht Euch ein Paket, bei dem ihr CPU und RAM garantiert habt und das updatefähig ist. Wenn z.B 1 CPU-Kern und 512MB RAM nicht reichen, geht ihr ein Paket höher. Wer allerdings mit extrem vielen Artikeln arbeitet und auch mit vielen Kunden rechnet, sollte sich einen dedizierten Server leisten, den man selbst administrieren kann. Das erfordert natürlich die entsprechenden Betriebssystemkenntnisse, dafür kann man dann bei der Optimierung noch selbst Hand anlegen (Webserver, MySQL, Memcached, etc.). Ich habe dazu mal 3 Tutorials geschrieben: http://www.shopware.de/wiki/Tutorials_cat_435.html Weitere werden folgen, wenn ich wieder etwas Luft habe.

Ich habe bei All-inkl einen Managed Root-Server, die Performance ist trotzdem recht bescheiden, bei ca. 150 Artikeln. Zum Teil 5s Ladezeit. Settings zur Verbesserung interessieren mich auch.

[quote=“cschirra”]Ich habe bei All-inkl einen Managed Root-Server, die Performance ist trotzdem recht bescheiden, bei ca. 150 Artikeln. Zum Teil 5s Ladezeit. Settings zur Verbesserung interessieren mich auch.[/quote] Da darf ich auf den Beitrag von avenger verweisen: Schau erst einmal nach, wo Du die Zeit liegen läßt. Sind es die Antwortzeiten vom Server oder die Ladezeiten von dutzenden Elementen der Seite? An beiden Dingen kann man unterschiedlich schrauben.

[quote=“avenger”]Was sagt denn FireBug zu den Ladezeiten (Netzwerk-Tab)?[/quote] Soeben installiert, lässt er die meiste Zeit beim 1. Aufruf “GET domain.com” bzw. auf den Folgeseiten “GET kategorie/artikel” - ca. 2-5 Sekunden. Die Detailzeiten zeigen den massiv höchsten Anteil davon bei “Warten”. Ich kenne mich da leider nicht aus, ist das der Eintrag, der am ehesten “paketabhängig” ist? Weitere größere Punkte sind jquery.shopware.js (~300ms) und print.css (~400ms), danach erst die sActions bought und viewed mit je 1-3s. Worauf sollte man da achten? Herzlichen Dank! Grüßend - litzab

[quote=“litzab”][quote=“avenger”]Was sagt denn FireBug zu den Ladezeiten (Netzwerk-Tab)?[/quote] Soeben installiert, lässt er die meiste Zeit beim 1. Aufruf “GET domain.com” bzw. auf den Folgeseiten “GET kategorie/artikel” - ca. 2-5 Sekunden. Die Detailzeiten zeigen den massiv höchsten Anteil davon bei “Warten”. Ich kenne mich da leider nicht aus, ist das der Eintrag, der am ehesten “paketabhängig” ist? Weitere größere Punkte sind jquery.shopware.js (~300ms) und print.css (~400ms), danach erst die sActions bought und viewed mit je 1-3s. [/quote] Alles, was von Shopware per PHP dynamisch erzeugt wird, also die Generierung der HTML-Seiten (“GET domain.com”, “GET kategorie/artikel”) ist in Bezug auf “Warten” der serverseitige Anteil, also a) abhängig von Deinem Provider und b) ob diese Seiten schon im Shopware Cache liegen. Die auszuliefernden (statischen) Elemente wie die von Dir angegebenen jquery.shopware.js oder auch die print.css haben in Bezug auf die Übertragungsgeschwindigkeit drei Faktoren: - Anzahl der potentiell gleichzeitig zu übertragenden Elemente (max. 6 bei modernen Browsern) - Größe der zu übertragenden Elemente - Reihenfolge der Elemente Wenn Du auf einem Hosting-Paket bist, bei dem Du den Webserver nicht konfigurieren kannst, kannst Du an der PHP-Performance nichts machen, aber Du könntest auf jeden Fall die CSS- und JavaScript-Dateien durch einen “Minimizer” schicken, der überflüssige Kommentarzeilen, Leerzeichen und Zeilenumbrüche entfernt. Je nachdem, wie gut Du Dich mit CSS auskennst, kannst Du auch mehrere CSS-Dateien zusammenfassen und so die Gesamtanzahl der Requests reduzieren.

1 Like

[quote=„litzab“][quote=„avenger“]Was sagt denn FireBug zu den Ladezeiten (Netzwerk-Tab)?[/quote] Soeben installiert, lässt er die meiste Zeit beim 1. Aufruf „GET domain.com“ bzw. auf den Folgeseiten „GET kategorie/artikel“ - ca. 2-5 Sekunden. Die Detailzeiten zeigen den massiv höchsten Anteil davon bei „Warten“. Ich kenne mich da leider nicht aus, ist das der Eintrag, der am ehesten „paketabhängig“ ist? Weitere größere Punkte sind jquery.shopware.js (~300ms) und print.css (~400ms), danach erst die sActions bought und viewed mit je 1-3s. Worauf sollte man da achten? Herzlichen Dank! Grüßend - litzab[/quote] Das Gleiche bei mir auch. Obwohl ich mit noch etwas längeren Ladezeiten kämpfe… @avenger Ich schau mir mal die Angebote von DF und HE an. Gibt es da evtl. ein Paket welches man uneingeschränkt für Shopware empfehlen könnte? Ich will da keine Experimente mehr eingehen und in ein paar Monaten wieder wechseln müssen. Wie sind so die Erfahrungen mit dem Support von HE oder DF? Welcher Hoster ist eher zu empfehlen?

[quote=„tschersich“]Alles, was von Shopware per PHP dynamisch erzeugt wird, also die Generierung der HTML-Seiten („GET domain.com“, „GET kategorie/artikel“) ist in Bezug auf „Warten“ der serverseitige Anteil, also a) abhängig von Deinem Provider und b) ob diese Seiten schon im Shopware Cache liegen.[/quote] Ok, das waren schon die Ergebnisse gecacheter Seiten - Neuaufrufe dauern auch schonmal 10 Sekunden, die Zeit liegt dann auch zu 95% oder so im 1. PHP-GET. [quote]Wenn Du auf einem Hosting-Paket bist, bei dem Du den Webserver nicht konfigurieren kannst, kannst Du an der PHP-Performance nichts machen,[/quote] Ist denn bei einer Paketaufrüstung eine Besserung zu erwarten - also weniger Kunden pro Server? Oder ist das wirklich hauptsächlich eine Konfigurationssache? Aber dann wären mir ja selbst bei einem „einzelnen“ Managed Server die Hände gebunden, oder? Also ich könnte relativ problemlos paketmäßig von einem 50-Kunden- auf einen 30-Kunden-Server wechseln, wobei davon nach dem was ich hier bisher so gelesen habe keine Wunder zu erwarten sein sollten. [quote]aber Du könntest auf jeden Fall die CSS- und JavaScript-Dateien durch einen „Minimizer“ schicken, der überflüssige Kommentarzeilen, Leerzeichen und Zeilenumbrüche entfernt. Je nachdem, wie gut Du Dich mit CSS auskennst, kannst Du auch mehrere CSS-Dateien zusammenfassen und so die Gesamtanzahl der Requests reduzieren.[/quote] Ok, das schaue ich mir mal an, da müßte was ghen. Trotzdem scheint das entscheidende Problem ja das „erste Warten“ zu sein. Herzlichen Dank! Grüßend - litzab

PS sind durch nichts zu ersetzen, in diesem Fall vor allem CPU, aber auch RAM, was bei MySQL stärker durchschlägt (zumindest bei Shopware). Durch den Interpreter gibt vor allem CPU-Leistung PHP einen deutlichen Geschwindigkeitsschub. Grundsätzlich ist ein Managed Server, bei dem man allein auf die vollen Ressourcen zugreifen kann und die meist mit Mehrprozessorkernen bestückt sind, auch ohne Optimierungen immer Shared Hosting Lösungen vorzuziehen. Es wird wohl keinen signifikanten Unterschied machen, ob man sich nun mit 50 oder nur 30 Kunden eine meist mickrige CPU teilt. Wenn man dann noch die Möglichkeit hat, (z.B. mit einem Root-Server) den Webserver und die Datenbank weiter zu tunen, dann hilft natürlich aus das noch einmal.

also ich habe bei einen der grössten provider ( österreich ) einen reseller zugang und zahle alle 3 monate 160 euro und betreibe ein forum mit 11.000 mitgliedern tausenden bildern usw. und das ladet sehr schnell. mein shop ist noch in testbetrieb, aber es geht recht schnell das ganze. vorteile vom reseller. ups, das war das falsche forum :sunglasses: habe das jetzt unter wer hostet wo gepostet.

Moin, ich würde zunächst einmal die Plugins Log / Benchmark / BenchmarkEvents aktivieren und dann FireBUG + die FirePHP Extension installieren - so erhält man eine genaue Aufstellung, welche Events welche Ressourcen belegen. Davon könntet ihr dann z.B. mal einen Screenshot einstellen. Ansonsten würde ich probieren, den Datenbank-Cache komplett abzuschalten - also alle Cache-Zeiten im Backend auf 0. Ggf. ist es nämlich so, dass nicht die Datenbank der Flaschenhals ist, sondern lokale Dateizugriffe - dafür würden auch die relativ schlechten Auslieferungszeiten von einfachen, statischen Dateien auf euren Servern sprechen. Auch eine Info über die installierten Plugins ist wichtig. Hier sollten generell alle Plugins deaktiviert werden, die man nicht benötigt! Letztlich benötigt Shopware aber schon ein wenig Power - optimal sind die Pakete unserer Hosting-Partner, die speziell auf Shopware abgestimmt wurden. Also Profihost oder Compositiv…

[quote=“cschirra”]Ich habe bei All-inkl einen Managed Root-Server, die Performance ist trotzdem recht bescheiden, bei ca. 150 Artikeln. Zum Teil 5s Ladezeit. Settings zur Verbesserung interessieren mich auch.[/quote] Ich habe jetzt mal Referenzwerte dazu, denn wir haben jetzt die ersten 165 Artikel im Shop, die Standardeinstellung meiner “Testseite” (Kategorie) ist 24 Artikel pro Seite + 5 Hersteller(-Logos) + 5 Top Seller + Tagwolke - Banner + Google Analytics. [list] [*] Mit gefülltem Shopware-Cache und leerem Browser Cache für diese seitenspezifischen Elemente komme ich auf ziemlich genau 2 Sekunden Ladezeit (onload Ereignis), was akzeptabel ist. [/*] [*] Ein Zweitbesuch derselben Seite wird in knapp über einer Sekunde erledigt. [/*] [*] Ein Reload der Seite, also das Überprüfen wirklich ALLER Elemente (304 - not modified und 200 für die erzeugte HTML-Seite und Google Analytics Request) braucht ca. 2,4 Sekunden.[/*][/list] Nehme ich nicht das onload Ereignis (rote Linie im Firebug), sondern DOMContentLoaded (blaue Linie), liege ich meist 30-50% unter den angegebenen Zeiten. Server: Hetzner EQ4 zusammen mit den von mir im Wiki beschriebenen Tuning-Maßnahmen plus noch ein paar, die ich noch nicht veröffentlicht habe.

Welche Plug-Ins seitens Shopware werden denn nicht benötigt, und können deaktiviert werden? Welche wirken sich verlangsamend auf den Shop aus? Sollte man den Shopcache deaktivieren? Wenn nein, welche Zeiten sollten in etwa eingetragen werden? Ich habe einen Managed Server bei allinkl.com, finde der Shop dürfte etwas schneller sein.

Super von DF ist sehr gut. Da habe ich schon Erfahrungen gesammelt.