Foros del Web » Programando para Internet » PHP »

Internet Explorer no puede mostrar la página

Estas en el tema de Internet Explorer no puede mostrar la página en el foro de PHP en Foros del Web. Hola les cuento que estoy teniendo un problema y no he podido resolverlo. Utilizo PHP con PostgreSQL. Tengo una consulta que me demora unos 12 ...
  #1 (permalink)  
Antiguo 23/09/2008, 06:07
 
Fecha de Ingreso: septiembre-2008
Mensajes: 8
Antigüedad: 15 años, 7 meses
Puntos: 0
Internet Explorer no puede mostrar la página

Hola les cuento que estoy teniendo un problema y no he podido resolverlo. Utilizo PHP con PostgreSQL. Tengo una consulta que me demora unos 12 minutos, pero cuando intento que me muestre el resultado en la página me sale "Internet Explorer no puede mostrar la página". Esa consulta con un rango de fecha más chico me funciona correctamente, obviamente demora menos y me la muestra.
Si hago la consulta directamente en la base, demora unos 12 minutos, pero en el explorador cuando llega a los 8 o 9 minutos me muestra ese error.
Trabajo tambien con un generador de reportes Report Manager, y también me pasa lo mismo. Desde el propio generador me muestra el informe, pero cuando lo cuelgo a la página me aparece ese error. Ya probé con Mozilla y con Opera y no tengo suerte.

Agradeceré sus comentarios.

Saludos.
  #2 (permalink)  
Antiguo 23/09/2008, 07:02
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Internet Explorer no puede mostrar la página

Investiga como aumentar la duración máxima de los scripts configurando el php.ini.

Por otro lado te propongo cachear la consulta para que no te ocurra eso. Los usuarios te lo agradecerán :)

Saludos!
  #3 (permalink)  
Antiguo 23/09/2008, 07:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 8
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Internet Explorer no puede mostrar la página

Gracias Synkronice por responder. Te cuento que bastante novato en esto. Me fije en el php.ini y no estoy seguro si es esto lo que me pides que modifique:

; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 90 ; Maximum execution time of each script, in seconds
max_input_time = 180 ; Maximum amount of time each script may spend parsing request data
memory_limit = 48M ; Maximum amount of memory a script may consume (8MB)


En cuanto a lo otro que me comentaste, cachear la consulta, la verdad no te entendi, que debería hacer?

Desde ya muchas gracias.
Saludos.
  #4 (permalink)  
Antiguo 23/09/2008, 08:48
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Internet Explorer no puede mostrar la página

Si a eso me refería, juega con esos valores hasta que se ajuste a tus necesidades.

NOTA: el tiempo es en segundos.

Por otro lado lo de cachear se puede hacer de muchas formas, pero basicamente es el guardar la inforamción que solicita el usuario en un fichero.

Que consigues con esto, pues no realizar la misma consulta innecesariamente ahorrandote: tiempo y recursos. Además el usuario final siempre te lo agradecerá porque la aplicación será más rapida.

El tiempo de cache depende de cuanto varien los datos cacheados.

Tendrías que investigar cada cuanto tiempo se actualizan esos resultados, de esta manera podrás preveer cuando debes volver a cachearlos.

Recuerda que al final lo que quiere el usuario es obtener dichos resultados lo más rapido posible. A el le da igual si ese resultado se lo das a través de una consulta de base de datos o desde un fichero.

Todo esto que te acabo de contar pierde sentido cuando los registros se actualizan con mucha frecuencia (ejemplo: estadisticas de bolsa, trafico actual de tu ciudad, facturación de caja de un hipermercado, etc...)


saludos!!!
  #5 (permalink)  
Antiguo 23/09/2008, 13:15
 
Fecha de Ingreso: septiembre-2008
Mensajes: 8
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Internet Explorer no puede mostrar la página

Synkronice, sabes que estuve probando con distintos valores pero no he tenido suerte, a los 10 minutos exactos me muestra el error.
Llegue a probar con el valor 20000 en las dos variables:
max_execution_time = 20000 ;
max_input_time = 20000 ;

pero igualmente no me dio resultado.

En cada cambio, detenia el servidor apache y volvia a levantarlo, incluso llegue a apagar el servidor. Pero no tuve suerte...

Saludos.
  #6 (permalink)  
Antiguo 23/09/2008, 13:24
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Internet Explorer no puede mostrar la página

Cuantos registros se supone que devuelve tu consulta???

Miraste la posiblidad de cachear la consulta??

Saludos!
  #7 (permalink)  
Antiguo 23/09/2008, 13:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 8
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Internet Explorer no puede mostrar la página

Hoy en día son unos 16.000 registros. La consulta intenta agruparlos por clientes y mostrarlos.
El tema de cachearlo todavia no se, es que estos registros se actualizan a diario y se incrementan en 100 o 150. Estoy buscando como hacerlo y luego ver si realmente me funciona...
  #8 (permalink)  
Antiguo 23/09/2008, 13:38
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Exclamación Respuesta: Internet Explorer no puede mostrar la página

Como desconozco que haces con tantos registros despues de realizar la consulta pues no te puedo asesorar para ofrecerte soluciones alternativas.

Lo que si te puedo decir de antemano que el problema que estas teniendo no es ni de la configuración de PHP, si no de tu enfoque.

Debes realizar la consulta con limites, para limitar el número de registros devueltos. Es un error realizar consultas sin limites a menos que estes realizando algún calculo estadistico complejo y no te quede mas remedio, pero si lo que tienes pensado es mostar un listado de clientes ( o de lo que sea ), utiliza limites y utiliza una paginació para pasar de una pagina a otra.

Pero vamos que realizar consultas de ese tipo son fallos de diseño gordos ya que consumen muchiiiiisimos recursos (CPU, MEMORIA, poca usabilidad) que incluso pueden provocar que se caiga el servicio.

Evítalo ROTUNDAMENTE.

Saludos!!!!
  #9 (permalink)  
Antiguo 23/09/2008, 13:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Internet Explorer no puede mostrar la página

Cita:
Iniciado por Julyo Ver Mensaje
Hoy en día son unos 16.000 registros. La consulta intenta agruparlos por clientes y mostrarlos.
El tema de cachearlo todavia no se, es que estos registros se actualizan a diario y se incrementan en 100 o 150. Estoy buscando como hacerlo y luego ver si realmente me funciona...
http://dev.mysql.com/doc/refman/5.0/es/query-cache.html

:)

Cita:
Las búsquedas para un registro en una tabla de un registro són un 238% más rápidas con la caché de consultas que sin ella. Esto puede considerarse como la mínima mejora esperada para una consulta que se cachea.
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 10:33.