Ver Mensaje Individual
  #8 (permalink)  
Antiguo 19/01/2012, 11:29
Avatar de Chico3001
Chico3001
 
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 12 años, 7 meses
Puntos: 12
Respuesta: Sistema sobrecargado

Tu problema de fondo parece ser la cantidad de datos, de entrada no le veo sentido a obtener datos cada 5 segundos si vas a monitorear la presion de aire de un neumatico, nunca se va a desinflar instantaneamente a menos que explote y aun asi no le veo el sentido a tener la hora de la explosion con una incertidumbre de +/-2.5seg, yo sugeriria recorrer el tiempo a 30 segundos o incluso 1 minuto

Segundo... con tantos datos requieres o muhca potencia de procesamiento o mucho tiempo para buscar y realizar los calculos, servidores como Google, Facebook, etc, funcionan de manera instantanea por que (aunque trabajan con Linux y SQL), tienen miles de computadoras distribuidas a lo largo del planeta en la que cada una realiza una pequeña parte del calculo total, posteriormente una sola compone el resultado final y lo envia al cliente

En tu caso me imagino que solo tienes uno o dos servidores, donde estan instaladas la base de datos y el motor php, y despues el cliente se conecta y pide el analisis de los datos de TODO el año (por ejemplo) y obvio la computadora necesita tiempo para terminar

Para resolverlo recomiendo 2 cosas (suponiendo que las tablas esten bien optimizadas, y el hardware sea dedicado exclusivamente a tu aplicacion), la primera es subir el numero de servidores y averiguar como se realiza un sistema distribuido de base de datos, asi mejorara el acceso a la base de datos

La segunda es optimizar el algoritmo de calculo, cuando un cliente pida mostrar una grafica de todo el año (por ejemplo) no pidas los datos de cada segundo, realiza los calculos con datos de cada dia (por ejemplo), y conforme el cliente solicite mostar algo mas a detalle entonces vas pidiendo datos mas detallados, pero recortando el tiempo total, osea, si te piden calculos de un año usas un dato representativo de cada dia, si te piden un mes usas un dato representativo de cada hora limitado a los 30 dias que te pidieron y asi sucesivamente