Foros del Web » Programando para Internet » PHP »

Afecta memory_limit al número de usuarios?

Estas en el tema de Afecta memory_limit al número de usuarios? en el foro de PHP en Foros del Web. Hola a todos Necesito aumentar la directiva memory_limit para una serie de procesos. Si lo hago a nivel global, en php.ini, afectará a todos los ...
  #1 (permalink)  
Antiguo 21/09/2012, 00:18
 
Fecha de Ingreso: abril-2008
Mensajes: 93
Antigüedad: 16 años
Puntos: 10
Pregunta Afecta memory_limit al número de usuarios?

Hola a todos

Necesito aumentar la directiva memory_limit para una serie de procesos.

Si lo hago a nivel global, en php.ini, afectará a todos los procesos, pero no se si eso limitará el número de usuarios posibles.

Dicho de otra forma, si con un límite de 32M puede soportar hasta 100 usuarios simultaneos, con un límite de 64M, ¿seguiría soportándolos?.

Según veo en la documentación, este límite es un máximo que solo lo utilizarán los procesos que lo requieran, es decir, los procesos que estén por debajo de 32M, seguirán utilizando la misma cantidad de memoria y por lo tanto, deberían soportarse el mismo número de usuarios.

También lo puedo hacer aumenándolo en cada proceso, pero son muchos (casi 100), y no me parece una buena práctica hacerlo así.

El problema viene del cambio de una función de una librería que ahora trata imágenes, y todos los procesos que la utilizan, deben aumentar su memoria, ya que imagino que alterar su valor en la propia librería no es posible.

Saludos
  #2 (permalink)  
Antiguo 21/09/2012, 02:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Afecta memory_limit al número de usuarios?

haber si me explico bein jejej,
la cantidad maxima de conexiones simultaneas se configura con max_connections, con lo cual si no cambias ese parametro tendras siempre la cantidad de conexiones simultaneas restringidas a la cantidad que diga ese parámetro.

Saludos
  #3 (permalink)  
Antiguo 21/09/2012, 04:42
 
Fecha de Ingreso: abril-2008
Mensajes: 93
Antigüedad: 16 años
Puntos: 10
Respuesta: Afecta memory_limit al número de usuarios?

Gracias por tu respuesta, pero max_conections es una directiva de mysql, y aunque hubiese una directiva equivalente, tampoco me serviría. Por ejemplo, imagina que ponemos un millón de conexiones simultáneas en un servidor con 1G de RAM, lógicamente, no llegaríamos nunca al valor máximo.

Si un proceso antes solo consumía 32M, por aumentar memory_limit, no debería de ocupar más, otra cosa es que el servidor reserve la memoria aunque luego no se utilice (esa es mi duda).

Como ejemplo, pondré datos simulados para que los números sean redondos:

Tengo un servidor con 320M de RAM disponibles físicamente y otros 320M de swap, memory_limit a 32M y max_connections a 100.
Si tengo 10 conexiones simultaneas (que usan exactamente 32M de memoria cada una, en total 320M) todo funcionará con la memoria física y la web irá rápida.
Si tengo hasta 20 conexiones( 640M en total), se utiliará el área de swap y todo funcionará aunque más lento.
Si intenta acceder una conexión 21, no habrá memoria suficiente.

Si a continuación cambio memory_limit a 64M, y teniendo en cuenta que los procesos de las conexiones consumían 32M, ¿el comportamiento seguirá siendo el mismo?


Saludos
  #4 (permalink)  
Antiguo 21/09/2012, 10:20
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Afecta memory_limit al número de usuarios?

El memory limit trabaja por proceso, no por usuarios. Suponiendo que haces un proceso complejo que requiere de 64 megas de memoria. Si tu límite es 32, simplemente no funcionará, así tengas 1 solo usuario al momento.

De igual forma, suponiendo que tienes un proceso que use 1 mb de memoria, un límite de 32 mb y 100 usuarios, los 100 podrán hacer el proceso, aunque según la memoria del servidor algunos sean atendidos con algunos retrasos.

Por otra parte, aumentar el límite no cambia los consumos de lo que ya hay, sólo permite que procesos que antes no se podían ejecutar por falta de memoria ahora lo hagan.

En lo personal, prefiero una configuración que permita que cada script pueda poner su límite, por ejemplo, tengo algunos módulos que generan reportes grandes en excel que al iniciar declaran que van a usar hasta 512 o 1024 mb de memoria.

Etiquetas: afecta, usuarios
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 19:25.