Kiedy PHP zwalnia pamięć w przypadku ajaxa?

Mam takie pytanie, kiedy php zwalnia pamięć? Weźmy pod lupę skrypt który ma tam x zmiennych i wypluwa ostatecznie coś na ekran ale żeby nie było nudno taki skrypt jest wczytywany ajaxem i rozpatrzmy sytuację że w danym momencie jest wczytane 100 stron i każdy nagle klika sobie w element który załaduje te dane, czy odrazu po załadowaniu php zwalnia pamięć? czy wskoczy wszystko do pamięci x100 ?

i ogólnie, kiedy jest ten moment zwolnienia pamięci, po wykonaniu requesta?

i jeszcze jedno przy okazji: przykładowo jest jakaś ciężka pętla która się wykonuje ok. 10 sekund, i np w 5 sekundzie ktoś inny wywołał skrypt, czy robi się kolejka czy serwer pracuje jakby na dwa wątki ?

skrypt uruchamiany przez ajax jest uruchamiany jak normalna strona i tak samo obsługiwany przez serwer.

Myślę, że wygląda to tak, że gdy skrypt wykona się do końca, tzn. wykonają się wszystkie instrukcje w pliku .php, oczywiście pamięć możemy zwolnić wcześniej i właśnie dlatego powinno się stosować z funkcji typu mysqli_free_result, jeżeli już nie korzysta się z rezultatu z bazy danych, a wykonuje się jakaś pętla np. 5-10s.

Tak więc, gdy przy pomocy AJAX odbierzesz request to skrypt już się na pewno wykonał,a nawet wcześniej, bo sama wiadomość też ileś tam leci.

Co do drugiego pytania myślę, że na pewno nie robi się kolejka, bo byśmy przy serwisach odwiedzanych przez tysiące nie mogli nic robić.

serwery tylu Apache czy IIS nie pozwolą na realizację zapytanie dłuższego niż kilka sekund, przynajmniej w środowisku produkcyjnym. za długo przetwarzane zapytania są zabijane.

w prawie każdym przypadku po wykonaniu zapytania z przeglądarki czy innego klienta wszystkie zmienne są usuwane z pamięci, te nieliczne przypadki gdy nie są kasowane to zmienne sesyjne i cache. nie zaleznie czy jest to zapytanie Ajaxowe czy każde inne.

w php masz memcache - ktory pozwoli na przechowywanie danych pomiedzy sesjami, uzytkownikami itd. problem w tym ze jego ilosc tez moze byc ogranicznona. jak to zamalo to musisz zaczac inaczej tworzyc swoja aplikacje.

Nie znam szczegółów implementacji serwerów, ale skoro zgodnie z protokołem HTTP serwer po odesłaniu odpowiedzi na żądanie zapomina o kliencie, to nie ma powodu, dla którego miałby dłużej trzymać jakieś dane z nim związane.

dzięki, też tak myślałem, chciałem się upewnić.