Witam.
Szukałem na forum ale nie znalazłem odpowiedzi na pytanie.
Czy funkcja sleep()
obciąża serwer ?
np po ustawieniu dużego czasu uśpienia
Nie, nie obciąża - blokuje jednak daną instancję PHPa przed dalszym przetwarzaniem żądania.
Jeśli np. wykorzystujesz php-fpm z limitem 10 procesów i wszystkie 10 procesów odpali sleep()
na 60 sekund, zablokujesz przetwarzanie wszystkich żądań PHPa na te całe 60 sekund.
Dlaczego chcesz korzystać z funkcji sleep()
?
Być może mamy do czynienia z problemem X/Y.
- Rejestracja:ponad 10 lat
- Ostatnio:około miesiąc
- Postów:178
Patryk27 napisał(a):
Dlaczego chcesz korzystać z funkcji
sleep()
?
Do spowalniania pobierania.
Gdy przesadzę z czasem to wywali klienta czy będzie czekał do końca na odpowiedź serwera ?
a) Klient może sam się rozłączyć,
b) Serwer (Apache / nginx) może przestać czekać na odpowiedź z PHPa (zależnie od tego, czy jest w taki sposób skonfigurowany),
c) Proces PHP może ubić sam siebie (http://php.net/manual/pl/function.set-time-limit.php).
Edit: podobno set_time_limit
jednak nie zlicza wywołań sleep
- musiałbyś sprawdzić w praktyce.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
sleep
nie wlicza się do time limit ;)