Funkacja sleep

Funkacja sleep
PD
  • Rejestracja:ponad 10 lat
  • Ostatnio:około miesiąc
  • Postów:178
0

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 pomagam naPW.!.
Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

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.


edytowany 2x, ostatnio: Patryk27
PD
  • Rejestracja:ponad 10 lat
  • Ostatnio:około miesiąc
  • Postów:178
0
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 ?


Nie pomagam naPW.!.
Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

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.


edytowany 1x, ostatnio: Patryk27
arczinosek
Akurat wczoraj sprawdzałem, sleep nie wlicza się do time limit ;)

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.