Ist Magento die richtige Plattform für 1M-Produkte?


31

Ich muss sehen, wie Magento mit 1M-SKUs funktioniert. Ich habe jedoch Schwierigkeiten, einen großen Datensatz mit Beispieldaten zum Herunterladen zu finden - oder eine praktikable Methode zum Generieren des Feeds für den Import (und des Importvorgangs selbst) zu finden.

  1. Weiß jemand, wo ich einen großen Datensatz von Dummy-Daten für den Import herunterladen könnte (oder ein sinnvolles Mittel, um ihn zu generieren und zu importieren)?
  2. Welche Probleme sehen Sie bei einer Kataloggröße von 1M + Produkten?
  3. Gibt es eine Möglichkeit, eine einzelne Produktdatenbank mit mehreren unabhängigen Geschäften (verschiedenen Unternehmen) zu teilen?

Antworten:


36

tl;dr ->" Kann Magento mit 1M-Produkten umgehen " lautet die Antwort " Ja" , jedoch mit einigen Überlegungen. In dieser Größenordnung würde man davon ausgehen, dass Sie über das erforderliche Volumen verfügen, um eine angemessene Investition in Infrastruktur und Personal für die Vermarktung eines Katalogs dieser Größenordnung zu unterstützen.

Zuerst:

Wie Sie vielleicht gesehen haben, enthält Magento CE-Beispieldaten nur eine Handvoll Produkte aus verschiedenen Kategorien. Die EE-Beispieldaten enthalten mehr und sind nach Speichertyp getrennt.

Sie können CE Beispieldaten herunterladen hier . Sie müssen EE-Beispieldaten von Ihrem MagentoCommerce.com-Konto herunterladen, wenn Sie über EE verfügen.

Sie werden jedoch feststellen, dass dies nicht Hunderte oder sogar Tausende von Produkten sind. Ich rate Ihnen, Produkte in die Datenbank zu importieren - eine gute Übung, um zu verstehen, wie dieser Prozess funktioniert. Dies kann über den Datenfluss von Magento oder über den API-Import erfolgen - Informationen dazu sind im Internet verfügbar.

Ein Wort der Vorsicht - Der Datenfluss ist notorisch langsam, daher kann der Import eines Katalogs in der von Ihnen gewünschten Größe einige Zeit in Anspruch nehmen. Meines Wissens gibt es keinen Musterkatalog in freier Wildbahn mit Hunderttausenden oder Millionen von Produkten.


Bearbeiten 07.01.14:

@ryaan_anthony auf Twitter hat eine gespeicherte MySQL-Prozedur veröffentlicht, die Hunderttausende von Produkten generiert. https://gist.github.com/ryaan-anthony/6290973


Lesen Sie etwas über Magento API und Dataflow:

http://www.magentocommerce.com/knowledge-base/entry/introduction-to-magento-dataflow

http://www.magentocommerce.com/api/soap/catalog/catalog.html

Zweite:

Produkt-, URL-Umschreibe- und Inventarindizierung sind die Hauptprobleme beim Ausführen eines Katalogs dieser Größe . Die Katalogsuche kann auch ziemlich langsam sein, sie kann jedoch verringert werden, wenn Sie Apache Solr (native EE-Integration) verwenden. Es gibt CE-Plugins für Solr - Sonassi hat eines, und andere können über Google gefunden werden.

Ich habe Kataloge im 700.000-Bereich verwaltet, was immer noch viel weniger als 1 Million ist, und die Indizierung kann Stunden für Stunden dauern . Dies wurde bereits angesprochen in Unternehmen 1,13 . Ich empfehle Ihnen dringend , sich die Enterprise Edition in dieser Größenordnung genauer anzusehen. Ist das mit CE möglich? Absolut; Die Indexverbesserungen in EE 1.13 sind jedoch speziell auf diese Art von Situation zugeschnitten.

Dritte:

Multi-Store ist in Magento integriert. Sie können verschiedene Kategorien und Websites der obersten Ebene einrichten. Sie müssen nicht alle denselben Katalog gemeinsam nutzen - Sie können auswählen, welche Produkte über Websites hinweg gemeinsam genutzt werden sollen, oder entscheiden, ob Ihr Katalog getrennt bleiben soll. Mehr Infos hier:

http://www.magentocommerce.com/knowledge-base/entry/overview-how-multiple-websites-stores-work

Je mehr Geschäfte, Geschäftsansichten Sie in Magento haben, desto mehr Indexeinträge und desto mehr kann sich Ihr flacher Katalog aufblähen, so dass ein flacher Katalog tatsächlich zu einem Leistungsverlust führen kann. Wieder hat Sonassi eine Menge Informationen dazu hier auf Magento.SE und auf ihrer Site . Sie werden einige der Antworten von Sonassi auf Magento.SE zur Handhabung / Skalierung von Magento durchsuchen wollen, wenn Sie sich mit diesem Bereich des Produktmanagements befassen.

Die Installation jeder Person ist anders - Sie müssen ständig Änderungen testen, verfeinern und implementieren, um herauszufinden, welche Einstellungen für Ihren Katalog in Ihrer Situation am besten geeignet sind.


Hallo! Vielen Dank für all diese Infos.
Gabriele

Die Datenbank wird automatisch von einem System erstellt, das mit vielen Editoren verbunden ist, die unsere Datenbank regelmäßig aktualisieren. Wir stellen die endgültige Datenbank und Aktualisierungen für Buchhandlungen bereit und möchten unseren Kunden nun eine vollständige E-Commerce-Lösung anbieten. Ich habe es geschafft, alle Daten über Magmi zu importieren. Es ist fantastisch und perfekt für uns. Was die Indizierung angeht, werde ich mich für die Solr-Lösung entscheiden. Ich kann MultiStores nicht verwenden, da ich meinen Kunden vollständigen Administratorzugriff gewähren muss. Danke nochmal!
Gabriele

Interessanterweise haben Sie nicht erwähnt, dass Hosting, Datenbankoptimierung, Alternativen oder Verbesserungen für den Datenfluss, die Verwendung von Clone anstelle von Factory-Instantiierung für die Verarbeitung großer Datenmengen, Cache- und Leistungsoptimierung und andere Leistungsoptionen für die Optimierung von Magento für einen Katalog dieser Art in Betracht gezogen wurden Größe. Mehrere Stunden auf die Indizierung zu warten, hört sich schmerzhaft an. Warum nicht einen Cluster ausführen oder den MySQL-Proxy verwenden, um die Indizierung zu verarbeiten und eine DB-Tabelle synchronisieren zu lassen, wenn sie fertig ist? Nur ein paar grundlegende Gedanken ... es gibt auch fortgeschrittenere Methoden.
Prototyp

Bei @mprototype können Sie nach Belieben Ihre eigene Antwort hinzufügen.
Philwinkle

7

Verwenden Sie ApiImport, um so viele Produkte zu importieren. Es basiert auf ImportExport und ist sehr schnell ... Ich habe bis zu 500.000 (indizierte) einfache Produkte pro Stunde auf einer virtuellen Maschine verwaltet.

Führen Sie einfach tests / benchmark_import_api.php aus. Bearbeiten Sie diese Datei, um die nicht benötigten Entitätstypen (und Untertypen) zu entfernen. Sie können USE_API auch auf false setzen, um schnellere Ergebnisse zu erzielen.


4

In der Vergangenheit haben wir http://www.icecat.biz/de/ verwendet , um Produkt-Feeds zum Laden in Beispieldaten zu extrahieren. Es gibt auch ein paar Magento-Erweiterungen, die aber nie für uns funktioniert haben. Deshalb haben wir die meisten unserer Importskripte geschrieben.


4

um mehr als eine Million Produkte in magento zu bekommen. Schreiben Sie ein einfaches PHP-Skript, das magmi-unterstützte Produktimport-CSV-Dateien mit verschiedenen Produkttypen generiert. Verwenden Sie dann die Magmi, um sie zu importieren

http://sourceforge.net/apps/mediawiki/magmi/index.php?title=Magmi_Wiki


Magmi ist ein CSV-Importeur, oder? Also muss ich Magm mit CSV-Dateien füttern, die den Katalog enthalten, oder?
Gabriele

1
ja, im wiki gibt es dokumentation, wie man die csv für den produktimport formatieren und dann das profil mit der weboberfläche erstellen und mit dem cli befehl importieren soll do / usr / bin / php magmi.cli.php -profile = custom_options -mode = create -CSV: filename = "$ {x}"; fertig
Sutha Kathir

CSV ist eine der Datenquellen, die Magmi verwenden kann. Denken Sie daran, dass Magmi über eine Datenpumpenschnittstelle verfügt, über die Sie Daten ohne CSV-Dateien einfügen können.
Axel

3

Keine vollständige Antwort, wie es scheint, haben andere bereits die meisten Ihrer Fragen beantwortet, nur ein paar Dinge, die hinzugefügt werden müssen:

1) Ich hatte folgendes Problem: Fast eine Million zufällige Magento-Produkte in zehn CSVs Sie können auch http://beta.generatedata.com/ ausprobieren.

2) Wie Philwinkle bereits erwähnt hat: Indizierung, Datenfluss und Suche sind die größten Hürden, die mit einem so großen Datenbestand zu überwinden sind. EE1.13 kann mit so großen Datenmengen besser umgehen (MySQL-Trigger, unter Berücksichtigung aller Produkt- / Kategoriestatus usw.), aber bedenken Sie, dass es sich derzeit noch um eine erste Version (x.0.0) handelt. Ich neige dazu, einige zu warten Releases, mit denen andere die Last der Fehlersuche übernehmen können, bevor sie für eine Produktionsumgebung in Frage kommen. Infrastruktur und Optimierung ist der Schlüssel. Zukünftige Upgrades sind ebenfalls zu berücksichtigen, da ALTER TABLEsie bei Upgrades nicht kombiniert werden und Stunden / Tage dauern können, um das Upgrade für die DB durchzuführen:

Lesen Sie weiter zum Thema Indizierung in einer großen Datenbank:

3) Der einfachste Weg, Daten zwischen zwei Magento-Stores auszutauschen, wäre eine REST / SOAP-Anfrage an die Magento-API des anderen Unternehmens. Die Alternative wäre, den Katalog einfach von einem Unternehmen zu sichern und dem anderen zu erlauben, ihn abzurufen und zu analysieren. Dies ist möglicherweise viel schneller als die API mit mehr als 1 Million Produkten.


1
1) Ich werde es mir ansehen. 2) Ja, ich habe mich für Magmi in CE entschieden. Wir werden sehen, wie es sich entwickeln wird. 3) Ja, ich denke, wir werden Daten sichern und in neue Geschäfte importieren, es sei denn, wir finden eine Möglichkeit, eine gemeinsame Produktdatenbank zwischen allen E-Shops zu teilen. Vielen Dank B00mer!
Gabriele

3

Wir haben gerade mit magento 1.7.x an einem Projekt mit 1,2 Mio. Produkten (keine Attribute und insbesondere nur eine Store-Ansicht) gearbeitet. Hier sind einige der Erfahrungen, die wir gemacht haben:

  1. Eigentlich ist der Import der Produkte ganz in Ordnung, ich denke, unser erster Import hat ungefähr 1,5 Stunden gedauert

  2. Bei der Neuindizierung würde unsere Festplatte extrem leiden. Die Lösung bestand darin, eine gute Menge an RAM zu erhalten (32 GB RAM Amazon Ssd-Instanz). Optimieren Sie die Innodb-Einstellungen, bei denen die Speicherzuordnung des Innodb-Pools ein wenig über die Größe der Datenbank hinausgeht, und ändern Sie insbesondere den temporären Tabellenpuffer von 16 MB auf 128 MB.

  3. Der Cache, der nur den APC-Cache für den schnellen Cache verwendet, die Dateien für den langsamen Cache, das Deaktivieren der unnötigen Protokollierung und der Module zusammen mit Flat Table und einigen anderen Optimierungen, sorgen dafür, dass der Server die Produktseiten-HTML (nicht die gesamte Seite) in 200 ms bereitstellt. Auf unserer ToDo-Liste befindet sich der Lack-Cache.

  4. Wir haben viele Deadlock-Probleme bekämpft und beseitigt (einige davon sind noch in der Verwaltung). Möglicherweise wird eine neuere Version von Magento diese Probleme laut Foren nicht lösen.

Ich werde sagen, dass es wirklich Probleme mit 1,2 Millionen Produkten gibt. Ich würde es nicht empfehlen, dies zu tun, ohne über das richtige Team und die richtigen Ressourcen zu verfügen.

Ich weiß nicht, welche andere Plattform bessere Arbeit leisten würde.


2

Immer gut dieses, ja, Magento CE & EE kann (aus Erfahrung keine Theorie unter Verwendung der mitgelieferten Datensätze), obwohl EE offensichtlich besser für die Indizierung ist. Magmi ist in Ordnung, aber wenn Sie für das anfängliche Laden neu indizieren, werden Sie ein ernstes Problem haben. Darüber hinaus haben Sie eine Wartung, bei der Sie, wenn sich 3% der Produkte täglich ändern, 30.000 Produkte mit einem automatischen Index aktualisieren müssen, keinen täglichen Neuindex durchführen können. Dies alles beruht auf zwei Dingen: Cluster-Hosting und Delta-fähiges Supplier Onboarding, die die Domänen von Unternehmensunternehmen sind.

Die Leute scheinen zu glauben, dass der Job endet, wenn die Produkte geladen werden, aber dann beginnt die harte Arbeit. Wenn Sie zu viele Geschäfte haben, müssen sich die Preise für Ihr Hosting verdoppeln, sodass 95% keine Chance haben, es zu implementieren, und 99% keine Chance haben, es aufrechtzuerhalten. Millionen von Produkten entsprechen mittelgroßen bis großen Unternehmen - wenn Ihre Berater nicht über diese Erfahrung verfügen, wird die Infrastruktur mittel- bis langfristig zusammenbrechen.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.