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).