
Estoy creando una aplicación de "aumento de tráfico" que puede pasar de 0 a 50.000 clientes, a la vez, en cuestión de minutos. Pensé en pedirles ayuda para entender si estoy haciendo algo mal aquí.
Actualmente, estoy probando con loader.io, mi configuración para esta prueba de carga es de 0 a 10 000 clientes en 1 minuto. Lo único que hace el evaluador es cargar la página de inicio de sesión, nada más, ni siquiera iniciar sesión. El tamaño de la página es 793 KB, lo que equivale a un tiempo de carga de ~400 ms en un navegador real.
[01-Mar-2018 09:57:48] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 4244 idle, and 4607 total children
[01-Mar-2018 09:57:49] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 4216 idle, and 4615 total children
[01-Mar-2018 09:57:50] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4211 idle, and 4631 total children
[01-Mar-2018 09:57:52] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4179 idle, and 4663 total children
[01-Mar-2018 09:57:54] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4181 idle, and 4695 total children
[01-Mar-2018 09:57:57] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4244 idle, and 4727 total children
[01-Mar-2018 09:57:58] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4412 idle, and 4759 total children
Mi configuración de php-fpm es la siguiente:
pm.max_children 3000
pm.max_requests 200
pm dynamic
pm.start_servers 1500
pm.min_spare_servers 300
pm.max_spare_servers 1500
Especificaciones del servidor host:
AMD Opteron(tm) Processor 6344
Core Name
Abu Dhabi
# of Cores
12-Core
# of Threads
12
Operating Frequency
2.6 GHz
Hyper Transports
6.40 GT/s
L2 Cache
6 x 2MB
L3 Cache
2 x 8MB
Manufacturing Tech
32 nm
50GB RAM (I have provided this to the container), server has 64 total.
Y, curiosamente, incluso con esta configuración, sigo recibiendo mensajes que dicen que "parece ocupado".
Aquí es donde las cosas mueren:
Lo más importante que debemos recordar aquí es que normalmente tenemos poco o ningún tráfico, aunque esperaremos hasta 50.000 usuarios en cuestión de minutos. ¿Pueden ayudarme con este error, por favor chicos? ¡Gracias!
Respuesta1
Debe tener en cuenta que activar esos trabajadores adicionales lleva tiempo y, como puede ver en los registros, php-fpm genera 32 niños a la vez. La "solución" más sencilla sería establecer los servidores mínimo y máximo en el mismo valor, de esa manera, no es necesario esperar a que se activen.
Además si es posible, en lugar de intentar hacer algo así, intenta implementar el almacenamiento en caché, ya que siempre será más rápido.