2011-10-15 23 views
6

Si tengo un sitio web donde los usuarios inician sesión y cierran sesión, y cada usuario tiene 4 variables de sesión en uso, ¿cómo afectará esto a mi sitio?¿Cuántas variables de sesión por usuario se consideran demasiado? - PHP

Digamos que si tengo 100,000 miembros activos, entonces efectivamente serían 400,000 variables de sesión aprobadas al mismo tiempo. ¿Esto afectará la carga de mi sitio? Entiendo que php tiene un límite de memoria, pero no lo entiendo completamente.

Gracias

+7

¿Tiene un sitio web con 100.000 usuarios activos simultáneamente? ¡Buen trabajo! – NullUserException

+2

La mayor parte de la sobrecarga va a ser por sesión, no por variable de sesión. – Kzqai

+3

posible duplicado de [¿Cuántas variables hay para muchos cuando se almacena en _SESSION?] (Http://stackoverflow.com/questions/4681277/how-many-variables-is-to-many-when-storing-in-session) –

Respuesta

6

4 variables por usuario no es nada, pero mi sugerencia sería en un nivel diferente: concéntrese en lo que está causando los cuellos de botella reales en su sitio web. Este problema probablemente no sea relevante en este momento, y es realmente fácil cambiarlo en el futuro si esto es lo que lo hace más lento. (Y no lo hará)

Apuesto a que tiene cosas mucho más importantes para trabajar que preocuparse por otra variable, y cuando llegue a esa cantidad de usuarios activos, toda su estructura probablemente cambiará, incluidos servidores y soluciones . ¡Buena suerte!

+0

Una vez más, lo importante es establecer una línea base de rendimiento, obtener algunos datos duros y extraer algunas conclusiones cuantificables sobre qué se escalará ... y qué no. Preocuparse por algo como "#/variables en una sesión de PHP" es peor que inútil en este punto ... – paulsm4

0

La respuesta, por supuesto, es "depende".

fuerte sugerencia:

1) Establecer una "línea base de rendimiento"

2) Considere recursos como CPU, memoria, red y disco

3) Considere sistema operativo, servidor web, aplicaciones y bases de datos

4) Ejecutar pruebas de estrés, y comparar su rendimiento entre cargas "normales" a "alta carga"

5) Identificar los cuellos de botella, y lidiar con ellos apropiadamente

Asumiendo que está ejecutando Linux/Apache/MySql (una suposición total de mi parte - usted no dijo), aquí hay un excelente artículo de tres partes que podría ayudarlo a comenzar la dirección correcta:

Pero confía en mí: preocuparse por minucias tales como si tiene 5 variables de sesión en lugar o 4, en lugar de tratar de recopilar estadísticas de referencia sólidos, no va a ayudarle escala a 100,000 usuarios :)!

1

Para responder en breve, sí, afectará a la carga de su sitio, si tiene 100k usuarios. Pero no será solo debido a las sesiones, serán parte del cuello de botella.

Es fácil calcular el posible consumo de memoria y, según eso, debe decidir cómo escalar su sitio. Las opciones de escala son infinitas (bueno, como frase, por supuesto, hay una cantidad limitada de formas de escalar programas, pero aún hay muchos para elegir).

Si sucede que atrae a tantos usuarios, es probable que pueda pagar una ayuda profesional cuando se trata de escalar su sitio.

Si se trata de una pregunta de cuáles son esas opciones, entonces podría ser lo mejor hacer una pregunta con cosas específicas en mente que le molesten a la hora de determinar cuándo y dónde podrían estar los cuellos de botella.

Además, no implementa sitios con tantos usuarios activos en un solo servidor, utilizando la configuración predeterminada de PHP, especialmente la sesión.

Cuestiones relacionadas