Foros del Web » Programando para Internet » PHP »

Pagina muy lenta

Estas en el tema de Pagina muy lenta en el foro de PHP en Foros del Web. Hola chicos, y chicas , veamos tengo un problemon(bueno tengo un monton de ellos, pero este es el que de momento me rompe la cabeza), ...
  #1 (permalink)  
Antiguo 24/11/2005, 03:18
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
Pagina muy lenta

Hola chicos, y chicas , veamos tengo un problemon(bueno tengo un monton de ellos, pero este es el que de momento me rompe la cabeza), veamos, realize la programacion de una pagina para un inmobiliaria, y el gran problema es que carga mas lenta que el coyote ante el correcaminos.
Mi pregunta es si se podria acelerar el acceso a la Base de datos, por si ese fuese el problema, de momento para acceder a ella uso el siguiente codigo:
Código PHP:
$sql "SELECT * FROM archivos where Anuncio = 'Si' Order by 'Precio'";

$consulta mysql_query($sql,$con) or die ("No se pudo ejecutar la consulta");

if (
mysql_num_rows($consulta)!=0){

    While (
$registro=mysql_fetch_assoc($consulta)){ 
Decir que las imagenes estan en la Base de Datos, la cual pesa en torno a los 5 Mb, por otro lado en la pagina se accede a esa base de datos en varias ocasiones, pues aparte de mostrar los pisos en la derecha muestra el numero de propiedades de cada tipo.

Por otro lado, si esa fuese la forma correcta de acceder a la Base de datos, otra pregunta¿podria ser cosa del Hosting?, es decir podria resolverse cambiando de hosting, o (y creo que esto es la principal causa), lo mejor seria decirle al cliente que bajase el numero de propiedades que aparecen en la pagina principal(tiene 16), pues esto hace que la pagina pese en torno a los 750 Kb.

Desde ya muchas gracias por la ayuda prestada.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #2 (permalink)  
Antiguo 24/11/2005, 06:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
lo mejor seria decirle al cliente que bajase el numero de propiedades que aparecen en la pagina principal(tiene 16), pues esto hace que la pagina pese en torno a los 750 Kb.
Eso es muchoooo!! .. así la conexión del usuario sea tardará mas o menos tiempo en descargar esa página (independiente de los problemas que tenga manejar una BD pesada)..

No sé como gestionas tus imagenes y el peso individual de estas .. pero podrías ir probando primero en optimizar las imagenes: son "thumbnails" lo que presentas en esa página? .. como los generas? ..

Cita:
Decir que las imagenes estan en la Base de Datos, la cual pesa en torno a los 5 Mb
Gestionas tus imagenes sobre la BD en "binaro" (campos BLOB) o sólo referencias en tu BD el nombre del archivo (imagen)?

Si haces lo primero (en "binario") .. a toda BD se le hace pesado consultas SQL .. pero tampoco es tanto "5 MB" .. De todas formas, una vez optimizado esas imagenes podrías probar la otra técnica: gestionar las imagenes sólo en tu BD con el nombre del archivo ...

Un saludo,
  #3 (permalink)  
Antiguo 24/11/2005, 07:10
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
Vamos por partes:
Antes de nada gracias por la rapida respuesta.
Cita:
No sé como gestionas tus imagenes y el peso individual de estas .. pero podrías ir probando primero en optimizar las imagenes: son "thumbnails" lo que presentas en esa página? .. como los generas? ..
lo que presento son las imagenes pero cion un tamaño mas reducido mediante
Código HTML:
<img src=\"ver.php?Codigo=".$registro['Codigo']."\" height=110> 
siendo ver.php
Código PHP:
<? include('conexion.php');

if(isset(
$_GET['Codigo'])) {

    
$sql "SELECT Foto, Mime FROM archivos WHERE Codigo='".$_GET['Codigo']."'";

    
$consulta mysql_query($sql,$con);

    
$datos mysql_result($consulta,0,"Foto");

    
$tipo mysql_result($consulta,0,"Mime");

    
header("Content-type: $tipo");

    echo 
$datos;

}

?>
Algo arcaico, pero fue mi primera pagina con las fotos en la Base de Datos. De aqui se ve que lo que hago es guardar las imagenes en campos Blob.

Las imagenes originales (maximo 200x200 en formato .jpg) ocupan en torno a los 50-60 Kb

¿crees que seria mas rapido si se guardasen las imagenes en una carpeta aparte y en la Base de datos solo se guardara el nombre?

Gracias.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #4 (permalink)  
Antiguo 24/11/2005, 07:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno ... por ahí tienes una forma de optimizar.

<img src=\"ver.php?Codigo=".$registro['Codigo']."\" height=110>

Tu sólo reduces el tamaño que el navegador va a presentar .. pero igual trabaja tu navegador con el tamaño REAL de la imagen y sobre todo su PESO total ..

Deberías usar técnicas de generación de "thumbnails" de forma dinámica vía GD (www.php.net/gd).

En este mini-tutorial tienes un ejemplo completo (basado en que trabajas con imagenes en BLOB en tu BD):

http://www.forosdelweb.com/showthrea...hlight=binario

Ahí puedes optimizar hasta el ratio de compresión (para JPG) que te quedará tu imagen en miniatura (thumbnail), así que esas imagenes que presentas a un tamaño menor que el original trabajadas con PHP, podrían quedar perfectamente en unos pocos Kbytes (3,5,10 a lo máximo?) .. ahí puedes jugar con ese factor calidad vs tamaño.

Cuando veas que tu página generada se reduzca de tamaño considerablemente .. podrías plantearte trabajar las imagenes en "carpetas" .. aunque por el "peso" que son individualmente y el total que por lo menos ahora tienes .. no debería ser problema para gestionarlo con Mysql.

Un saludo,
  #5 (permalink)  
Antiguo 24/11/2005, 08:37
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
Cluster, anotate una mas, te debo tropecientas(entre esta, y otras que no necesite preguntar gracias a que alguien pregunto y tu, junto con otros, que no me olvido de ellos, respondisteis).

Gracias.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
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 13:51.