Foros del Web » Programando para Internet » PHP »

Entendiendo sys_getloadavg()

Estas en el tema de Entendiendo sys_getloadavg() en el foro de PHP en Foros del Web. Buenas compañeros: quisiera que me ayudaran a entender el funcionamiento de la función sys_getloadavg(). En la descripción de php.net dice lo siguiente: Cita: Obtiene la ...
  #1 (permalink)  
Antiguo 27/05/2011, 15:34
Avatar de edwines  
Fecha de Ingreso: mayo-2011
Mensajes: 21
Antigüedad: 12 años, 11 meses
Puntos: 3
Entendiendo sys_getloadavg()

Buenas compañeros:

quisiera que me ayudaran a entender el funcionamiento de la función sys_getloadavg(). En la descripción de php.net dice lo siguiente:

Cita:
Obtiene la carga media del sistema....

Devuelve un array con tres muestras (últimos 1, 5 y 15 minutos).
Lo qué entiendo es que devuelve el número promedio de conexiones que se realizan al sistema, pero ¿Son las conexiones totales o conexiones por IP de quién hace la request?

Y si implemento el siguiente script para minimizar daños en posibles ataques DDOS ¿Cuanto sería lo normal en las conexiones por minuto para un host compartido?

Código PHP:
<?php
$carga 
sys_getloadavg();
if (
$carga[0] > 80) {
    
header('HTTP/1.1 503 Ocupado, pruebe más tarde');
    die(
'Servidor ocupado. Por favor, inténtelo de nuevo más tarde.');
}
?>
  #2 (permalink)  
Antiguo 27/05/2011, 15:48
 
Fecha de Ingreso: septiembre-2006
Ubicación: La Plata
Mensajes: 52
Antigüedad: 17 años, 7 meses
Puntos: 4
Respuesta: Entendiendo sys_getloadavg()

No se pueden evitar ataques ddos desde php. Eso te lo pueden hacer hasta pingeando la ip de tu site. Si tenés un server te conviene hacer algún script en c, bash o python para evitar el ataque bloqueando los puertos cuando envíen demasiados paquetes de datos para hacerte un overload en el server.

Si te hicieron un ataque tampoco tiene sentido que muestres ese header, porque los usuarios ni siquiera van a poder verlo, solo les va a llegar un msg de timeout del paquete enviado para iniciar la conexión con el servidor. Osea que tu web no va a cargar directamente.

Mejor tener un buen contrato si estás en un host compartido, que contemple este tipo de cosas desde el SO de los servers.
  #3 (permalink)  
Antiguo 27/05/2011, 16:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Entendiendo sys_getloadavg()

Te recomiendo que busques en al página maestrosdelweb.com, hay un artículo que explica sobre como evitar un ataque DDOS.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 27/05/2011, 16:41
Avatar de edwines  
Fecha de Ingreso: mayo-2011
Mensajes: 21
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Entendiendo sys_getloadavg()

Gracias por sus respuestas, son muy útiles.

Pero entonces tengo otra duda, ¿Cual es la utilidad de esa función? ¿para qué tipo de cosas puede ser utilizado?

Es que como en la misma página de php.net presentan el script que puse arriba, pensé que sería útil para el DDOS... Supongo que simplemente sirve para evitar que el sitio se caiga ante "saturación natural".
  #5 (permalink)  
Antiguo 27/05/2011, 16:43
 
Fecha de Ingreso: septiembre-2006
Ubicación: La Plata
Mensajes: 52
Antigüedad: 17 años, 7 meses
Puntos: 4
Respuesta: Entendiendo sys_getloadavg()

Sirve de modo informativo creo yo, si tenes un panel donde tengas todas las estadísticas de tu sitio. Otra no le veo. Porque para prevenir un ataque ddos no sirve en absoluto.

Saludos!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:16.