Wir haben ein Magento-Projekt mit großen Bestandsaufzeichnungen entwickelt und sind immer mit dem Indizierungsproblem konfrontiert, bei dem wir alles versucht haben, was im Internet zu finden ist, um das alltägliche Indizierungsproblem zu lösen, z Indizierung, aber das ist unser alltägliches Problem mit der Indizierung.
Wir suchen nach einer dauerhaften Lösung für dieses Problem, während wir an Projekten arbeiten. Es gibt verschiedene Szenarien, z. B. das tägliche Aktualisieren der Produkte oder das tägliche Importieren der Produkte von einem anderen Futtermittel.
Wenn Sie Best Practices für diese oder eine Problemumgehung haben, teilen Sie uns diese mit, die wir sehr schätzen werden.
Antworten:
Es ist wichtig zu verstehen, welche Indizes langsam sind und warum
Die Komplexität des Katalogs und letztendlich die Speicherarchitektur bestimmen, wie lange eine Neuindizierung in Kombination mit der zugrunde liegenden Infrastruktur dauern wird.
Wenn Sie 50.000 Produkte und 10 Filialansichten haben, können Sie sicherstellen, dass die
catalog_url_rewrite
Verarbeitung der wenigen Millionen Zeilen in der Zeit dauern wird.Wenn Sie 100 Produkte haben, aber 5.000 Attribute, können Sie garantieren , dass der
catalog_attributes
odercatalog_product_flat
Tabelle wird ein Alter, um wieder aufzubauen, oder fällt flach auf seinem GesichtWenn Sie 1.000 Produkte, aber 500 durchsuchbare Attribute haben, dauert die
catalog_fulltext_search
Fertigstellung erneut ein AlterDie Lösung für jedes Problem, mit dem Sie konfrontiert sind, ist nicht eine Größe für alle. Es geht darum, Ihr Geschäft richtig zu gestalten. Bereitstellung der richtigen Infrastruktur für die Unterstützung und Verwendung einer Neuindexierungshäufigkeit / -strategie, die sowohl die Aktualität als auch die Leistung des Inhalts unterstützt.
Es ist auch der Fall zu prüfen, ob bestimmte Indizes überhaupt erforderlich sind. Die Verwendung von flachen Produkten / Kategorien beschleunigt nicht immer alle Geschäfte. Wir haben gesehen, dass dadurch Geschäfte viel langsamer werden. Vielleicht stellen Sie fest, dass nach dem Testen der Leistung vor / nach - sie sind nicht einmal eine Überlegung.
quelle
tl; dr
Es gibt keine Wunderwaffe. Ich schlage vor
Sonassi_Fastsearchindex
, dass es einige Problemumgehungen gibt - diese sind jedoch speziell für die Katalogsuche gedacht.Vielleicht hilft es, die Indexaktualisierungen beim Speichern zu deaktivieren - die Planung wird über Nacht ausgeführt -? Kombiniert mit dem Hinzufügen von mehr Caching (memcached, Redis, APC) und einem ganzseitigen Cache wie Varnish (wenn Sie CE ausführen) können Sie loslegen. Wenn Sie Lack verwenden
Nexcess_Turpentine
möchten , sehen Sie sich für einen schnellen Einstieg den Github an.Mehr Informationen
Die Indexierungsprobleme - insbesondere catalog_url_rewrites - sind in der Community bekannt und dokumentiert. Magento hat diese in der Enterprise-Version behandelt, da dies die Kunden sind, die am stärksten betroffen sind. Viele EE-Kunden haben über 10.000 Produkte und mehrere Store Views, Websites usw.
Wenn Sie jedoch einen großen Katalog und eine große Anzahl von Attributen haben, befinden Sie sich möglicherweise in der Position, dass die Indizierung einen langen Zeitraum in Anspruch nimmt, insbesondere catalog_url_rewrite, product_flat. In diesem Fall ist es mein Vorschlag , die Laufzeit des Index nicht zu korrigieren Länge, sondern etwas Verarbeitung zu entlasten, damit die Box CPU-Zyklen Indizierung verbringen kann, anstatt Inhalt zu liefern .
Die Fragen, die Sie sich stellen sollten:
Für dieses spezielle Problem gibt es keine Patentlösung. Als Lösungsanbieter sollten Sie Ihren Kunden dabei helfen, die Entscheidung zu treffen, mit der sich Umsatz und Geschäft am besten verbessern und die Gemeinkosten niedrig halten lassen.
Alternativen
Katalogsuche auslagern und geschichtete Navigation zu Solr.
Horizontal skalieren. Fügen Sie weitere Apache / Nginx-Server hinzu. Mehr Server = mehr gleichzeitiger Durchsatz. Das ist nicht 1: 1. Nexcess hat hier ein großartiges Whitepaper zu Leistung und Apache-Konfiguration: http://www.nexcess.net/magento-best-practices-whitepaper
Und wenn Sie sich für Varnish entscheiden - denken Sie daran:
quelle
In den meisten Magento-Webshops war es so schwierig, das Magento-Backend-Index-Management zum Laufen zu bringen. Ich habe dieses Problem oft gehabt. Das ständige Ausführen des Shell-Skripts durch den Entwickler ist häufig hektisch. Normalerweise behebe ich dieses Problem dauerhaft so.
Ich erstelle eine neue Kopie von shell / indexer.php> shell / myindexer.php
Passen Sie die Datei shell / myindexer.php in der Zeile 154 an
Zu
Fügen Sie diese Prüfung um Zeile 166 hinzu
Vor
Und dann füge ich das neue Shell-Skript zu cpanel cron hinzu, das alle 5 Minuten ausgeführt wird
Da das obige Shell-Skript alle 5 Minuten ausgeführt wird und nur die Prozesse neu indiziert, die neu indiziert werden müssen, verringert es das Risiko einer hohen Belastung der Server-CPU und der gesamte Prozess der Neuindizierung ist sehr schnell. Wenn kein Prozess eine Neuindizierung erfordert, wird der Neuindizierungsprozess einfach nicht ausgeführt. Denken Sie auch daran, den Neuindizierungsmodus auf der Seite "Indexverwaltung" auf "Beim Speichern aktualisieren" zu setzen. Wenn Sie es nicht wissen, können Sie diese Option unter Aktionen> Indexmodus ändern neben der Schaltfläche Senden aufrufen.
quelle
Es wäre einfacher zu sagen, ob Sie mehr Daten angeben könnten (Inventargröße, Besucher, Maschine), aber hier ist eine Möglichkeit:
Sonassi_Fastsearchindex
Erweiterung für den Katalogsuchindex. Obwohl es nur Titel, Beschreibung und SKU indiziert (ich glaube, ich habe es bemerkt), funktioniert es großartig und reduziert die Indexierungszeit für die Katalogsuche.Dies läuft unter Magento CE 1.7.0.2; trotzdem ein schmerz;)
quelle
Mit Dnd_Patchindexurl konnte ich die Zeit für die Neuindizierung von catalog_url_rewrite auf fast 70% verkürzen.
Ich denke, es ist eine gute Lösung, deaktivierte Produkte oder nicht sichtbare Produkte auszuschließen, damit ihre URL für nichts erstellt wird!
Nach:
Ich habe es auf 1.9.1.1 installiert und funktioniert sehr gut!
Kann auch über Connect installiert werden http://www.magentocommerce.com/magento-connect/catalog/product/view/id/15074/s/dn-d-patch-index-url-1364/category/12863/
quelle
Upgrade auf EE 1.13. Die Indexer wurden in dieser Version stark verbessert.
quelle