Funkacja sleep

PD
  • Rejestracja: dni
  • Ostatnio: dni
  • 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

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • 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.

PD
  • Rejestracja: dni
  • Ostatnio: dni
  • 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 ?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • 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.

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.