Enlaces recomendados

Publicidad

Usuarios en línea

estadisticas de usuarios online

Cómo se contabilizan los usuarios en línea

Voy a iniciar una serie de entradas en las que intentaré explicar como funciona el servicio de usuarios en línea de AhoraHay.

Cuando accedemos a una página web con nuestro navegador, éste descarga la página y la analiza, buscando referencias a otros archivos del servidor web o de servidores externos que debe descargar para poder visualizar la página correctamente: imágenes, archivos de hojas de estilo, archivos javascript, películas flash …

El servidor web por su parte, al identificar el primer acceso de un usuario, establece lo que se denomina una sesión. Asociada a la sesión se puede guardar información que permite al servidor web mantener un estado en el acceso a distintas páginas. Por ejemplo, cuando nos identificamos con un usuario y contraseña, podemos acceder a una zona privada de la web sin tener que volver a escribir esta información en cada acceso.

Las sesiones se mantienen activas hasta que ha pasado un tiempo sin que el usuarios haga ningún acceso adicional al servidor web. Un valor típico son 20 minutos.

El contador de usuarios en línea de AhoraHay, contabliza un usuario en línea cuando detecta el primer acceso del usuario, pero ignora todos los accesos posteriores de ese mismo usuario mientras se mantenga la sesión abierta (hasta que hayan pasado 20 minutos desde el último acceso).

Por tanto, cuando el contador indica que hay 5 usuarios en línea, significa que en los últimos 20 minutos se han detectado 5 usuarios distintos.

El código que se instala en las páginas de la web que se quiere monitorizar, accede a una página de ahorahay.com para cargar un javascript, si es la primera vez que el usuario accede a la página creará una nueva sesión en AhoraHay y se anotará un nuevo usuario en el marcador de la web.

Cuando una sesión finaliza (hay 20 minutos de inactividad) se genera un evento de fin de sesión que se utiliza para decrementar el marcador de usuarios en línea.

Esto es lo básico, pero hay unas cuantas cuestiones que hay que considerar:

  1. Un mismo usuario puede abrir varias sesiones. De hecho ocurre con relativa frecuencia, y si no se tiene en cuenta falsearía el resultado, dando más usuarios de los que realmente son.
    La solución a este problema es tener en cuenta la dirección IP.
  2. Puede que un usuario acceda a varias webs que usen el servicio de AhoraHay, por ejemplo si un usuarios está en el directorio de AhoraHay visitando distintas webs. En este caso sólo se crea una sesión para varias webs, pero hay que contablizarlo en cada una por separado:
    La solución es usar varibles de sesión personalizadas con el código de la web.
  3. Puede que el código se ejecute desde fuera de la web (en una cache de google, alguíen copie el código en otra web, …)
    No hay que contablizar usuarios que no vengan de la web.
  4. Hay que reducir al máximo la carga en el servidor (minimizar accesos a bases de datos, reducir consumo de recursos, etc.)
    Esto es necesario pues el código se ejecuta en cada acceso a cada página de todas las webs que utilicen el servicio y estos pueden ser muchos accesos.
  5. Hay que capturar información de los usuarios de cada web para poder mostrar las estadísticas detalladas.

Y esto es todo de momento. En próximos artículos entraremos en algunos detalles de implementación.

 

Leave a Reply