Ich denke, seit dem Update auf Magento 2.3.1 habe ich Probleme mit nicht zwischengespeicherten Seitenladevorgängen (während der Entwicklung).
Ich habe eine blackfire.io-Spur erstellt und es stellt sich heraus, dass hier 42 Sekunden im Schlaf verbracht werden .
Jetzt frage ich mich, was der Zweck davon ist. Ich schätze, ich laufe in einer Art Rennzustand?
Hat jemand so etwas schon einmal erlebt?
EDIT: Der Call Stack scheint Commercebug zu beinhalten.
quelle
Der LockedLoadData-Mechanismus muss die Belastung des Servers verringern.
Bisher haben alle Clients beim Bereinigen des Konfigurationscaches auf hochgeladenen Sites dieselben Informationen generiert, die die CPU- / Io-Last erheblich erhöhen.
Mit LockedLoadData generiert nur ein Client einen Cache und andere warten darauf.
Weitere Details zur Funktionsweise.
Der erste Funktionsaufruf "Daten abrufen" ruft zurück und wenn er die Daten abruft, gibt er sie einfach zurück (wenn sich also Daten im Cache befinden, funktioniert der Code wie zuvor und verwendet keine Sperren).
Wenn keine Daten verfügbar sind und die Sperre gesperrt ist, versuchen wir in der Schleife, Daten zu laden, bis Daten abgerufen werden oder die Sperre aufgehoben wurde.
Wenn es keine Sperre gibt, erstellen wir eine Sperre und generieren Daten, speichern sie im Cache und entfernen die Sperre und geben Daten zurück
PS: Wir haben diese Änderungen wie einen Patch für einen der Clients mit einer Last von bis zu 20 kRPM gesendet und sie funktionieren mindestens 3 Monate ohne Probleme. Also vielleicht das Problem in Ihren Anpassungen / Modulen (zum Beispiel, wenn sie den Cache-Mechanismus kaputt gemacht haben)
quelle