Zauważyłem więc w New Relic na wielu naszych stronach, wiele ładowań długich stron dzieje się z powodu Mage_Core_Model_Session_Abstract_Varien :: start. Przeprowadziłem badania i naprawdę nie widziałem, żeby ktokolwiek mówił o tym.
Używamy Nginx, PHP FPM, Redis do buforowania i Memcache do sesji. Niektóre z moich pomysłów są takie, że być może jest to coś, co trwa wiecznie i wydaje się, że problem stanowi ładowanie sesji. Lub w jakiś sposób istnieje niestandardowy kod dodający do sesji dużo danych, co powoduje ogromne sesje.
Nie mam wystarczającej wiedzy na temat sesji i sposobu zarządzania nimi, ale znalazłem kilka artykułów mówiących o blokowaniu sesji. Jednak nie sądzę, że ludzie będą otwierać tak wiele stron jednocześnie.
Niektóre z tych obciążeń trwają około 20-30 sekund. Jestem ciekawy, czy ktokolwiek to zauważył lub miał więcej wiedzy na temat analizowania tego rodzaju długich próśb z powodu sesji.
źródło
Odpowiedzi:
Jest to najprawdopodobniej związane ze zjawiskiem dotyczącym sesji systemu plików. Pomimo tego, co raportujesz za pomocą Mecached do sesji, widziałem to tylko wtedy, gdy w rzeczywistości korzystałem z systemu plików.
Zostało to tutaj omówione wcześniej:
/magento//a/3721/336
W rzeczywistości zrzut ekranu pamięci podręcznej ujawnia dokładny moment, w którym rozpoczęcie sesji zajmuje nadmiernie dużo czasu,
Mage_Core_Model_Session_Abstract_Varien::start
jak prawidłowo wskazałeś:W przywołanym wątku pojawiła się sugestia, że efekt ten można zmniejszyć za pomocą przechowywania sesji w pamięci - ale nie istnieją żadne konkretne dane, o których wiem, że mogłyby poprzeć teorię. Jeśli faktycznie używasz memcached, to oczywiste jest, że blokada sesji na poziomie PHP uniemożliwiłaby przyszłe żądania do przechowywania sesji do momentu zwolnienia blokady.
Zasadniczo jest to widoczne tylko w przypadku żądań wymagających dostępu do informacji o sesji, więc zaprojektowanie kompozycji interfejsu użytkownika będzie korzystne, aby ograniczyć ilość potrzebnego dostępu, aby uniknąć potencjalnych blokad, gdy użytkownik ma inną kartę lub inne długotrwałe żądanie w trakcie podejmowania decyzji odejść.
HTH, zdrowie.
źródło