¿Cómo podría evitar tener una carga de CPU de 90 solo presionando F5 en mi navegador?

¿Cómo podría evitar tener una carga de CPU de 90 solo presionando F5 en mi navegador?

Tengo un sitio web php y si presiono F5 en mi navegador obtengo esta carga de CPU:

$ w 11:34:54 hasta 16 días, 1 min, 5 usuarios, carga promedio: 90,81, 32,02, 12,57

¡Proviene de todas las páginas de mi sitio web! Entonces, ¿creo que no proviene del algoritmo sino de la configuración de Apache? No estoy completamente seguro de eso.

Utilizo PHP (con codeigniter), mongoDB con una única conexión. Utilizo una constante global para usar mi conexión y reutilizarla cada vez. No creo una nueva conexión en cada solicitud. Casi todas las páginas web responden en menos de 300 ms.

Entonces, ¿viene de Apache (y luego hago mi pregunta en el sitio web de Stackechange correcto), o proviene de mi conexión PHP global (y luego cambiaré a Stackoverflow)?

¿O proviene de otro parámetro? Si proviene de Apache, ¿hay alguna manera de limitar el número de conexiones al mismo tiempo? Porque cargar la misma página una y otra vez sin esperar a que finalice la primera solicitud no es el comportamiento correcto.

Entonces alguien puede apagar mi servidor solo presionando F5... Si fuera un DDOS, está bien, pero "solo" un DOS...

Gracias,

A.

Respuesta1

Puedes probar los siguientes módulos

  • mod_evasivo(Módulo de evasión de denegación de servicio para Apache)
  • mod_limitipconn(Módulo de limitación de conexión simultánea para Apache)
  • mod_cband(Módulo Apache 2 proporcionado para resolver el problema de limitar el uso del ancho de banda de los usuarios y los hosts virtuales).

Elhilopuede ser útil también

Una cosa más. Puede configurar nginx detrás de Apache, ya que tiene capacidades de limitación de velocidad muy flexibles.

información relacionada