Foros del Web » Programando para Internet » PHP »

Duda sobre consumo de recursos.

Estas en el tema de Duda sobre consumo de recursos. en el foro de PHP en Foros del Web. Hola gente, como va? Quiero saber que es lo que mas me conviene realizar, la situación es la siguiente: Tengo una web orientada para que ...
  #1 (permalink)  
Antiguo 11/09/2012, 19:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta Duda sobre consumo de recursos.

Hola gente, como va?

Quiero saber que es lo que mas me conviene realizar, la situación es la siguiente:

Tengo una web orientada para que estén conectados al mismo tiempo unos 1000 usuarios, actualmente la pagina cuando vos te logueas te redirecciona a una plataforma la cual carga tus datos completos de la DB porq capta tu usuario que lo grabe en $_SESSION, que pasa cuando carga hace una query, pero si el usuario hacer "refresh" en la pagina vuelve a enviar la consulta a la DB.

La pregunta es: Que consume mas recursos, guardar todos los datos en $_SESSION para que no consulte todo el tiempo o hacer la consulta a la DB cada vez que el usuario recarga o vuelve a la pagina?

otra consulta infiltrada, el usuario, puede desde su navegador acceder a las variables tipo $_SESSION, $_COOKIE y demás?

Desde ya muchas gracias!
__________________
@vindt89
  #2 (permalink)  
Antiguo 11/09/2012, 19:33
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Duda sobre consumo de recursos.

Pero como es eso de que vuelve a hacer la consulta a la base de datos? vos lo primero que tenes que validar es si esta creada la sesion, con isset, si esta creada entonces mostras el contenido que tengas que mostrar para esos usuarios logueados, si no esta creada la session entonces haces la consulta a la bd para ver si los datos que se ingresaron estan en base de datos y si concuerdan ahi la creas, pero en 1 principio tenes que verificar con isset si $_SESSION... existe, si existe entonces mostra lo que quieras, sino existe entonces ahi es porque recien esta intentando loguearse y tenes que hacer la captura de datos y verificarlo si existen en la base.
Con respecto a lo otro el cliente nunca podrá acceder a ninguna variable ni array en este caso como $_SESSION y $_COOKIE ya que son del lado del servidor, y el cliente nunca ve esto, si fueran variables de un lenguaje del lado del cliente ahi si, como javascript.
  #3 (permalink)  
Antiguo 11/09/2012, 19:41
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Duda sobre consumo de recursos.

Corríjanme si me equivoco, pero una de las diferencias entre usar variables de sesión y cookies, es que las primeras se guardan en el servidor y las otras en el ordenador del usuario.

Respecto a tu pregunta, supongo que guardar con sesiones es menos carga para el servidor que realizar consultas continuadas a la base de datos.
  #4 (permalink)  
Antiguo 11/09/2012, 20:03
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Duda sobre consumo de recursos.

Cita:
Iniciado por rodrigo791 Ver Mensaje
Pero como es eso de que vuelve a hacer la consulta a la base de datos? vos lo primero que tenes que validar es si esta creada la sesion, con isset, si esta creada entonces mostras el contenido que tengas que mostrar para esos usuarios logueados, si no esta creada la session entonces haces la consulta a la bd para ver si los datos que se ingresaron estan en base de datos y si concuerdan ahi la creas, pero en 1 principio tenes que verificar con isset si $_SESSION... existe, si existe entonces mostra lo que quieras, sino existe entonces ahi es porque recien esta intentando loguearse y tenes que hacer la captura de datos y verificarlo si existen en la base.
Con respecto a lo otro el cliente nunca podrá acceder a ninguna variable ni array en este caso como $_SESSION y $_COOKIE ya que son del lado del servidor, y el cliente nunca ve esto, si fueran variables de un lenguaje del lado del cliente ahi si, como javascript.
Lo que planteo es así:

Vos te logueaste, te redirecciona a la plataforma:
Apenas carga la plataforma, hace la consulta a la DB con el parametro de usuario que lo grabe en un $_SESSION, lo que hace hasta el momento la aplicacion es consultarle a la DB el resto de tus datos cada vez que se carga x pagina.

Mi consulta era, con que consumo mas recursos de servidor, si hago consultas continuas por cada vez que actualizo la pagina? o consumo mas recursos guardando en $_SESSION las variables tenienndo en cuenta que tengo mil usuarios conectados.

Código PHP:
Ver original
  1. if(isset($_SESSION["autorizado"] && !isset($_SESSION['datoscargados']))){
  2.     include ("../inc/func.php");
  3.     $usuario_log=$_SESSION['usuario'];
  4.     $link = mysqli_connect("localhost","root","","base");
  5.     $query = "SELECT sexo, ciudad, email, creditos FROM usuarios WHERE usuario = '$usuario_log'";
  6.     $result = mysqli_query($link, $query);
  7.     $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
  8.     $_SESSION['sexo']=$row['sexo'];
  9.     $_SESSION['ciudad']=$row['ciudad'];
  10.     $_SESSION['email']=$row['email'];
  11.     $_SESSION['creditos']=$row['creditos'];
  12.         $_SESSION['datoscargados']=1;
  13.     mysqli_free_result($result);
  14.     mysqli_close($link);
  15. }else{
  16.     header("location: ../index.php");
  17. }

Acá arriba agregue el código modificado cargando los datos en $_SESSION, pero tengo un problema, la variable créditos puede modificarse dependiendo de las interacciones del usuario, si adquiere algo por ejemplo.
__________________
@vindt89
  #5 (permalink)  
Antiguo 11/09/2012, 20:14
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Duda sobre consumo de recursos.

Es lo que te digo, para que vas a hacer una consulta a la base de datos si las variables de session ya existen? para eso tenes isset, y con eso validas que si existe $_SESSION['sexo'], $_SESSION['ciudad'], $_SESSION['email'].. etc si existe entonces no haces nada la consulta, de lo contrario ( else ) haces la consulta sql, acordate que las variables de session su proposito principal es pasar su valor mientras navegamos entre diferentes archivos, entonces siempre y cuando este creada la session no vas a tener que hacer otra vez la consulta sql y volver a crearla.
Tal vez entiendo mal lo que queres hacer, pero bueno.
  #6 (permalink)  
Antiguo 11/09/2012, 20:47
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Duda sobre consumo de recursos.

Cita:
Iniciado por rodrigo791 Ver Mensaje
Es lo que te digo, para que vas a hacer una consulta a la base de datos si las variables de session ya existen?
Es que la pregunta es justo esa; una cosa o la otra. Porque cuando hay mil usuarios de forma simultanea, son muchas variables de sesión que guardar, lo que seguramente repercutirá negativamente en la carga del servidor.

Aún así, yo creo que las variables de sesión carga menos el servidor ya que consultas contínuas a la base de datos sería aún cargar más el servidor. De hecho separar bases de datos del resto del servidor es de las primeras cosas que se hacen en una web grande con muchas consultas a bases de datos.
  #7 (permalink)  
Antiguo 11/09/2012, 21:36
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Duda sobre consumo de recursos.

Muchas gracias a ambos, creo que el servidor de DB y donde esta alojado el sitio difieren, pero lo voy a consultar con el hosting correspondiente.
Un abrazo!
__________________
@vindt89

Etiquetas: consumo, mysql, recursos, 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 22:30.