Verbessern der SaaS-Datenexportleistung
Multi-Thread-Datenexportmodus Beschleunigt den Exportvorgang, indem Feed-Daten in Batches aufgeteilt und parallel verarbeitet werden.
Entwickler oder Systemintegratoren können die Leistung verbessern, indem sie den Multithread-Datenexportmodus anstelle des standardmäßigen Einzelthread-Modus verwenden. Im Single-Thread-Modus gibt es keine Parallelisierung des Feed-Übermittlungsprozesses. Darüber hinaus sind aufgrund der standardmäßig festgelegten Beschränkungen alle Clients auf die Verwendung nur eines Threads beschränkt. In den meisten Fällen ist keine Anpassung der Konfiguration erforderlich.
Überlegungen zur Verwendung des Multi-Thread-Modus
Beim Arbeiten mit Datenexportdiensten ist es wichtig, die Leistung zu optimieren und gleichzeitig eine genaue Synchronisierung sicherzustellen.
Adobe empfiehlt die Verwendung der Standardkonfiguration für die Datenaufnahme, die in der Regel die Synchronisierungsanforderungen für Commerce-Händler erfüllt. Es gibt jedoch Szenarien, in denen die Anpassung die Verarbeitungszeit beschleunigen kann.
Beachten Sie bei der Entscheidung, ob die Datenexportkonfiguration angepasst werden soll, die folgenden Schlüsselfaktoren:
-
Erstsynchronisierung-Bewerten Sie die Anzahl der Produkte und schätzen Sie das Datenvolumen und die Übertragungszeit basierend auf der Standardkonfiguration. Fragen Sie sich: Können Sie nach der Einführung in einen Commerce-Service auf diese erste Datensynchronisation warten?
-
Hinzufügen neuer Store-Ansichten oder Websites-Wenn Sie nach der Live-Schaltung Shop-Ansichten oder Websites mit derselben Produktanzahl hinzufügen möchten, schätzen Sie das Datenvolumen und die Übertragungszeit. Stellen Sie fest, ob die Synchronisierungszeit mit der Standardkonfiguration akzeptabel ist oder ob eine Verarbeitung mit mehreren Threads erforderlich ist.
-
Reguläre Importe: Sie regelmäßige Importe voraus, z. B. Preisaktualisierungen oder Änderungen des Lagerstatus. Beurteilen, ob diese Aktualisierungen innerhalb eines akzeptablen Zeitraums angewendet werden können oder ob eine schnellere Verarbeitung erforderlich ist.
-
Produktgewicht - Überlegen Sie, ob Ihre Produkte leicht oder schwer sind. Passen Sie die Stapelgröße entsprechend an, wenn die Produktbeschreibungen oder Attribute die Produktgröße erhöhen.
Denken Sie daran, dass eine sorgfältige Planung, einschließlich der Schätzung des Datenvolumens und der Synchronisierungszeit, oft die Notwendigkeit einer Anpassung eliminiert. Planen Sie die Feed-Aufnahme-Vorgänge basierend auf diesen Schätzungen, um optimale Ergebnisse zu erzielen.
Multithreading konfigurieren
Der Multi-Thread-Modus wird für alle Synchronisierungsmethoden - Vollsynchronisierung, Teilsynchronisierung und Synchronisierung fehlgeschlagener Elemente unterstützt. Um Multithreading zu konfigurieren, geben Sie die Anzahl der Threads und die Batch-Größe an, die während der Synchronisierung verwendet werden sollen.
thread-count
ist die Anzahl der Threads, die für die Verarbeitung von Entitäten aktiviert werden. Derthread-count
lautet1
.batch-size
ist die Anzahl der Entitäten, die in einer Iteration verarbeitet werden. Derbatch-size
ist100
Datensätze für alle Feeds mit Ausnahme des Preis-Feeds. Für den Preis-Feed ist der Standardwert500
Datensätze.
Sie können Multi-Threading als temporäre Option konfigurieren, wenn Sie einen Resynchronisierungsbefehl ausführen, oder indem Sie die Multi-Thread-Konfiguration zur Adobe Commerce-Anwendungskonfiguration hinzufügen.
Konfigurieren von Multithreading zur Laufzeit
Wenn Sie einen vollständigen Synchronisierungsbefehl über die Befehlszeile ausführen, geben Sie die Multi-Thread-Verarbeitung an, indem Sie die thread-count
- und batch-size
zum CLI-Befehl hinzufügen.
bin/magento saas:resync --feed=products --thread-count=2 --batch-size=200
In der Befehlszeile angegebene Optionen überschreiben die in der config.php
der Adobe Commerce-Anwendung angegebene Datenexportkonfiguration.
Hinzufügen von Multi-Threading zur Commerce-Konfiguration
Um alle Datenexportvorgänge mit Multithreading zu verarbeiten, können Systemintegratoren oder Entwickler die Anzahl der Threads und die Batch-Größe für jeden Feed in der Commerce-Anwendungskonfiguration ändern.
Diese Änderungen können angewendet werden, indem benutzerdefinierte Werte zum Systemabschnitt der Konfigurationsdatei hinzugefügt werden, app/etc/config.php
.
Beispiel: Multithreading für Produkte und Preise konfigurieren
<?php
return [
'system' => [
'default' => [
'commerce_data_export' => [
'feeds' => [
'products' => [
'batch_size' => 100,
'thread_count' => 2,
],
'prices' => [
'batch_size' => 400,
'thread_count' => 4,
]
]
],
// ...