Frage

Wir haben ungefähr 3500 einfache Produktprodukte, die auf ungefähr 300 Gruppenproduktseiten angezeigt werden.Einige GP-Seiten haben 2 zugehörige Produkte, andere 50.Der Durchschnitt liegt bei 11,6.

Der Großteil der zugehörigen einfachen Produkte ist nicht einzeln sichtbar.Daher ist ihre einzige Existenz auf dieser Gruppenproduktseite.Um das Benutzererlebnis zu verbessern, stellen wir der Gruppenproduktseite mehr Informationen über Attribute zur Verfügung als die Standard-Magento-Vorlage.

Wir haben 54 Attribute, von denen 5 nicht verwendet werden, 9 von uns erstellt wurden und von den verbleibenden 40 Standard-Magento-Attributen verwenden wir weniger als 25 %.

Alle Attribute befinden sich im Standardordner.

Seltsamerweise ergab der Test vor dem Start keine Probleme.Nach dem Start begannen die Probleme damit, dass einige Seiten nicht vollständig geladen werden konnten.Als Lösung haben wir ein verzögertes Laden der Produkte implementiert, indem wir bestimmte Unterkategoriegruppen geschlossen haben, die durch ein Originalattribut auf der Seite erstellt wurden.Dies ist alles andere als akzeptabel und die Leistung scheint sehr inkonsistent zu sein.

Mit NewRelic können wir sehen, dass unser Problem in /catalog/product/view liegt (86 %).

Was fehlt uns?Müssen wir unsere Attribute neu strukturieren?Wenn ja, um welchen Faktor?

War es hilfreich?

Lösung

Die Anzahl der Attribute ist nicht wirklich relevant.Wenn es sich bei den Attributen jedoch um Mehrfachauswahl-/Dropdown-Attribute handelt, ist die Anzahl der jeweiligen Attributoptionen sehr relevant.Wenn Sie Hunderte oder Tausende von Optionen haben, wird die Belastung enorm sein.Ich vermute jedoch, dass dies nicht Ihr Problem ist.

Was Sie tun, ist nicht besonders schwer oder komplex – und Sie sollten eigentlich keine Leistungsprobleme haben.

Es hört sich eher so an, als ob Ihr Problem entweder in der Infrastruktur liegt (d. h.(falsch konfiguriertes Hosting – das Problem tritt in 99 % der langsamen Geschäfte auf) oder eine schlecht erstellte Vorlage.

Wenn Sie auch nur eins haben product->load(), wird dies durch die damit verbundenen einfachen Produkte verstärkt, und die Auswirkungen werden katastrophal sein.

NB.Mein erster Tipp wäre, New Relic aufzugeben.Es ist hübsch und praktisch als Referenz, aber es ist ein Leistungskiller (da es auf XDebug basiert) und seine bloße Anwesenheit wird Ihren Shop verlangsamen.Verwenden Sie es auf Entwickler.aber nicht live bereitstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top