sys_getloadavg în PHP

Procese și mediu PHP 5.1.3+

Returnează încărcarea medie a serverului în ultimele 1, 5 și 15 minute.

Sintaxă
sys_getloadavg(): array|false

Ce face sys_getloadavg

Încărcarea medie (load average) arată câte procese așteaptă, în medie, după procesor. Pe un server cu 4 nuclee, o valoare de 4 înseamnă că procesorul este ocupat complet. sys_getloadavg returnează trei valori: pentru ultimul minut, ultimele 5 și ultimele 15 minute.

Poți amâna sarcinile grele (un export mare, trimiterea unui newsletter) când serverul este deja încărcat. Funcția nu există pe Windows.

Ce returnează

Un tablou cu trei numere sau false la eroare.

Exemple

Exemplul 1: Amânarea unei sarcini grele

<?php
[$un_minut, $cinci, $cincisprezece] = sys_getloadavg();

echo "Încărcare: $un_minut / $cinci / $cincisprezece\n";
if ($un_minut > 4) {
    exit("Serverul e ocupat, reîncerc mai târziu.");
}
echo "Pornesc exportul";

Rezultat posibil (depinde de server)

Încărcare: 0.82 / 0.65 / 0.51
Pornesc exportul

Greșeli frecvente

  • Compari încărcarea cu o valoare fixă fără să ții cont de numărul de nuclee. Pe un server cu 16 nuclee, 4 înseamnă încărcare mică.

Comenzi înrudite

  • getrusage: Returnează resursele folosite de proces: timp de procesor, memorie maximă, citiri de pe disc.
  • memory_get_usage / memory_get_peak_usage: Returnează câtă memorie folosește scriptul acum (memory_get_usage) sau maximul atins (memory_get_peak_usage).