Rest-API: Artikel und Varianten performant laden

Hallo Zusammen,

wir importieren täglich alle Artikel und Varianten von unseren Kunden in unser System und nutzen dafür die Shopware 5 Rest-API.

Um alle Artikel und Varianten zu bekommen holen wir uns zuerst alle aktiven Artikel (/api/articles) und dann zu jedem Artikel die Varianten und Bilder über die Details (/api/articles/ID).

Obwohl es für eine Rest-API eine überschaubare Anzahl von Rest-Calls sind, bekommen wir oft nach nur wenigen Artikeln einen Timeout zurück. Die Verarbeitung bei Shopware scheint zu lange zu dauern. Ist die API und das Sammeln der Daten bei Shopware tatsächlich so langsam?

Hat jemand eine Idee, voran das liegen kann oder wie man die Anzahl der Calls verringern kann?

Vielen Dank,
Marius

Hi Marius,

also in meinem Shop befinden sich aktuell 1300 Artikel. Da diese alle per Varianten angelegt sind, komme ich auf rund 4k Varianten. Jeglicher Call funktioniert und ist auch nicht langsam.
Wie rufst du denn die API auf? Evtl. ein Problem in deinem Programm?

Alternativ natürlich einfach dein Server, der hier Probleme macht. Müsste man sich mal genauer ansehen, wenn du jedoch per Browser aufrufst solltest du ja schnell sehen ob die API fix antwortet.

Grüße

Hi MrAle,

Vielen Dank für deine Antwort.

Wir nutzen einfach einen Rest-API-Client, wie wir es auch mit anderen Shops machen. Im Browser und in Postman ist die Anfrage schnell.

Kann es sein, dass es an der Anzahl der Anfragen und der Anfragegeschwindigkeit liegt, sodass der Server dann irgendwann nicht mehr hinterherkommt? Gibt es da ein Limit?

Ansonsten kann ich mir auch nur vorstellen, dass es am Server liegt und dieser einfach zu wenig Ressourcen für die API hat? Aber einfache Artikel- und Varianten-Abfragen sollten doch eigentlich nicht so ressourcenfressend sein.

Viele Grüße, Marius

Eventuell bremst auch die Datenbank bzw. der MySQL-Dienst aus. MySQL-Tuning für Shopware ist so eine Sache und muss je nach Shop extra durchgeführt werden. Die Standardeinstellungen reichen da zum Teil nicht. Da müsste man das Ganze mal gezielt beim Auslesen beobachten. Ist jetzt aber nur eine Vermutung.

Vielen Dank für den Hinweis.

Ich habe mir erst einmal so geholfen, dass ich die Abrufgeschwindigkeit durch Pausen verlangsame und es scheint etwas stabiler zu laufen und den Server nicht zu sehr auszulasten.

Ich erwarte mir aber eigentlich von einer Rest-API eine stabilere und robustere Verbindung.

Was aber alles von den Server- und MySQL-Einstellungen sehr stark abhängt. Wir haben Kundenprodukte die explizit auf eigene Root-Server umziehen mussten, weil deren Anforderungen auf normalen Servern nicht ausreichten. Da muss manchmal auch der Betreiber etwas mehr Geld in die Hand nehmen.