Myślę, że od aktualizacji do Magento 2.3.1 mam problemy z niebuforowanymi ładowaniami stron (podczas programowania).
Zrobiłem ślad blackfire.io i okazuje się, że spędzamy tutaj 42 sekundy .
Teraz zastanawiam się, jaki jest tego cel. Chyba biegam w jakimś stanie wyścigowym?
Czy ktoś wcześniej czegoś takiego doświadczył?
EDYCJA: Stos wywołań wydaje się zawierać błąd handlowy.
źródło
Mechanizm zablokowanyLoadData musi zmniejszyć obciążenie serwera.
Poprzednio po wyczyszczeniu pamięci podręcznej konfiguracji w witrynach o wysokim załadowaniu wszystkie klienty wygenerowały te same informacje, które znacznie zwiększają obciążenie procesora / pamięci.
Z zablokowanym ładowaniem danych tylko jeden klient wygeneruje pamięć podręczną, a inni będą na nią czekać.
Więcej informacji o tym, jak to działa.
Pierwsza funkcja wywołuje funkcję zwrotną „pobierz dane” i jeśli pobiera dane, to po prostu je zwraca (więc jeśli dane w pamięci podręcznej kod działa jak poprzednio i nie używają żadnych blokad).
Jeśli dane nie są dostępne, a blokada jest zablokowana, wówczas w pętli próbujemy ładować dane, dopóki dane nie zostaną pobrane lub blokada zostanie usunięta.
Jeśli nie ma blokady, tworzymy blokadę i generujemy dane w celu zapisania jej w pamięci podręcznej oraz usunięcia blokady i zwrotu danych
PS: Wysłaliśmy te zmiany jak łatkę dla jednego z klientów z obciążeniem do 20kRPM i działa co najmniej 3 miesiące bez żadnego problemu. Więc może problem w twoich dostosowaniach / modułach (na przykład, jeśli zepsuły one mechanizm pamięci podręcznej)
źródło