Autor
|
Tema: Aumentar la velocidad de la carga de mi página. (Leído 7,884 veces)
|
yoelrodguez
Desconectado
Mensajes: 168
Es mejor, una amarga verdad que una dulce mentira
|
Tengo la siguiente situación: tengo un sistema hecho con codeingter que me está cargando muy lenta la página en mi servidor online. La comparación la estoy haciendo con mí servidor local que es un xampp con mariadb de base de datos, contra mi servidor en línea que es dedicado y tienes instalado un plesk con mariadb de base de datos. La diferencia de la carga del servidor local al online es de casi 5 segundos. Haciendo pruebas, compre que la lentitud se me produce en la consulta SQL si quito la ejecución de la consulta la página en el servidor online me carga super rápido. Tengo colocados todos los index en las tablas del servidor, en cuanto a las relaciones pero ni aun así logro que la cargar del servidor online sea igual o parecida a la del servidor local. A continuación le dejo la consulta para ver si me pueden ayudar. Gracias. SELECT `contrato`.`id`, `contrato`.`n_contrato`, `cliente`.`tipoc`, `cliente`.`nombremp`, `cliente`.`nombre` AS cnombre, `cliente`.`apellidos` AS capellidos, `fiador`.`nombre` AS fnombre, `fiador`.`apellidos` AS fapellidos, `promotor`.`nombrecorto` AS prnombrecorto, `promotor`.`nombre` AS prnombre, `promotor`.`apellidos` AS prapellidos, `contrato`.`f_firma`, `contrato`.`f_final`, `contrato`.`f_revicion`, `contrato`.`importe`, `contrato`.`facimporte`, `inmueble`.`nombre` AS inmuebles, `inmueble`.`direccion` AS idireccion, `inmueble`.`id` AS idinmueble, `propietario`.`nombrecorto` AS pnombrecorto, `propietario`.`nombre` AS pnombre, `propietario`.`apellidos` AS papellidos, `documentos`.`ruta_doc`, `documentos`.`iddrive`, `cliente`.`rutap_doc` AS rutac, `fiador`.`rutap_doc` AS rutaf, `propietario`.`rutap_doc` AS rutap, `promotor`.`rutap_doc` AS rutapr, `contrato`.`id_documento`, `contrato`.`id_promotor`, `contrato`.`id_cliente`, `contrato`.`id_fiador`, `contrato`.`vencido`, DATE_FORMAT(f_firma, ' %d-%m-%Y') AS ffirma, DATE_FORMAT(f_final, ' %d-%m-%Y') AS ffinal, DATEDIFF(f_final, CURDATE()) AS dia, DATEDIFF(f_revicion, CURDATE()) AS diar FROM (`contrato` LEFT JOIN cliente ON contrato.id_cliente = cliente.id LEFT JOIN fiador ON contrato.id_fiador = fiador.id LEFT JOIN promotor ON contrato.id_promotor = promotor.id LEFT JOIN documentos ON contrato.id_documento = documentos.id LEFT JOIN inmueble ON contrato.id_inmueble = inmueble.id LEFT JOIN propietario ON inmueble.id_propietario = propietario.id) WHERE `vencido` = '2' ORDER BY `n_contrato` ASC, `inmuebles` ASC, `f_final` ASC, `f_final` ASC, `importe` ASC LIMIT 20
|
|
|
En línea
|
|
|
|
MinusFour
|
Pues tendrías que mirar el explain: EXPLAIN SELECT `contrato`.`id`, `contrato`.`n_contrato`, `cliente`.`tipoc`, `cliente`.`nombremp`, `cliente`.`nombre` AS cnombre, `cliente`.`apellidos` AS capellidos, `fiador`.`nombre` AS fnombre, `fiador`.`apellidos` AS fapellidos, `promotor`.`nombrecorto` AS prnombrecorto, `promotor`.`nombre` AS prnombre, `promotor`.`apellidos` AS prapellidos, `contrato`.`f_firma`, `contrato`.`f_final`, `contrato`.`f_revicion`, `contrato`.`importe`, `contrato`.`facimporte`, `inmueble`.`nombre` AS inmuebles, `inmueble`.`direccion` AS idireccion, `inmueble`.`id` AS idinmueble, `propietario`.`nombrecorto` AS pnombrecorto, `propietario`.`nombre` AS pnombre, `propietario`.`apellidos` AS papellidos, `documentos`.`ruta_doc`, `documentos`.`iddrive`, `cliente`.`rutap_doc` AS rutac, `fiador`.`rutap_doc` AS rutaf, `propietario`.`rutap_doc` AS rutap, `promotor`.`rutap_doc` AS rutapr, `contrato`.`id_documento`, `contrato`.`id_promotor`, `contrato`.`id_cliente`, `contrato`.`id_fiador`, `contrato`.`vencido`, DATE_FORMAT(f_firma, ' %d-%m-%Y') AS ffirma, DATE_FORMAT(f_final, ' %d-%m-%Y') AS ffinal, DATEDIFF(f_final, CURDATE()) AS dia, DATEDIFF(f_revicion, CURDATE()) AS diar FROM (`contrato` LEFT JOIN cliente ON contrato.id_cliente = cliente.id LEFT JOIN fiador ON contrato.id_fiador = fiador.id LEFT JOIN promotor ON contrato.id_promotor = promotor.id LEFT JOIN documentos ON contrato.id_documento = documentos.id LEFT JOIN inmueble ON contrato.id_inmueble = inmueble.id LEFT JOIN propietario ON inmueble.id_propietario = propietario.id) WHERE `vencido` = '2' ORDER BY `n_contrato` ASC, `inmuebles` ASC, `f_final` ASC, `f_final` ASC, `importe` ASC LIMIT 20
|
|
|
En línea
|
|
|
|
Hextor
Desconectado
Mensajes: 4
|
Esa consulta tiene muchos JOINS, posiblemente sea lo que la está haciendo lenta, si puedes, intenta cambiar esa consulta por varias más simples de forma programática, quizás te sirva...
|
|
« Última modificación: 4 Noviembre 2021, 15:11 pm por Hextor »
|
En línea
|
- Hector
|
|
|
yoelrodguez
Desconectado
Mensajes: 168
Es mejor, una amarga verdad que una dulce mentira
|
Hola, gracias a todos por su ayuda ya logre disminuir el tiempo de carga y el problema lo tenia en la versión de php que estaba usando. EL servidor por defecto tiene 7.4 y al bajarlo a la 7.1 el tiempo de carga se redujo de 17 s a 3.9 s.
|
|
|
En línea
|
|
|
|
el-brujo
|
Hola, gracias a todos por su ayuda ya logre disminuir el tiempo de carga y el problema lo tenia en la versión de php que estaba usando. EL servidor por defecto tiene 7.4 y al bajarlo a la 7.1 el tiempo de carga se redujo de 17 s a 3.9 s. Vaya, eso no tiene mucho sentido. Usa runa versión más vieja de PHP y que vaya más rápido Aunque la rama 7.4 es la actual
|
|
|
En línea
|
|
|
|
#!drvy
|
EL servidor por defecto tiene 7.4 y al bajarlo a la 7.1 el tiempo de carga se redujo de 17 s a 3.9 s. Eso es algo anormal y deberías revisarlo. Además ten en cuenta que la 7.1 ya no recibe soporte ni parches de seguridad. https://www.php.net/supported-versions.phpSeguramente tengas alguna funcionalidad que no funciona bien en PHP 7.4 y tarda más en realizar X acción. Revisa bien. Saludos
|
|
|
En línea
|
|
|
|
yoelrodguez
Desconectado
Mensajes: 168
Es mejor, una amarga verdad que una dulce mentira
|
Hola y gracias a todos por sus comentarios, he estado revisando pero en el log no me arroja ningún error, al menos a los que tengo acceso en el servidor pero si cuando coloco la versión 7.4 la carga de la consulta se me hace muy lenta.
Saludos
|
|
|
En línea
|
|
|
|
Fernando99
|
En la vida, no esperaría tal solución al problema. Me pregunto por qué fue causado.
|
|
|
En línea
|
|
|
|
elmascato
|
Algo raro pasa ahí. A lo mejor es que tienes mucho deprecated en el código. ¿Qué versión de CI usas?
|
|
|
En línea
|
|
|
|
Danielㅤ
Desconectado
Mensajes: 1.846
🔵🔵🔵🔵🔵🔵🔵
|
Hola, yo no tengo conocimientos de base de datos, pero esa consulta me parece demasiado extensa, veo que hacés muchas operaciones en una sola consulta, por ejemplo esto creo que une dos valores: tal vez podrías hacer eso desde PHP y evitar hacerlo desde una consulta SQL. Saludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Aumentar la velocidad de un programa.
Programación C/C++
|
dvc
|
4
|
3,253
|
14 Mayo 2012, 17:17 pm
por dvc
|
|
|
Aumentar la velocidad en Bittorrent???
Software
|
DiegoGómez
|
2
|
2,303
|
15 Junio 2012, 05:39 am
por DiegoGómez
|
|
|
Aumentar velocidad de injeccion
Wireless en Linux
|
[u]nsigned
|
8
|
4,873
|
19 Noviembre 2012, 13:47 pm
por ChimoC
|
|
|
Aumentar velocidad de internet
Hacking Wireless
|
neo_lovo
|
3
|
7,723
|
27 Mayo 2014, 01:08 am
por Mister12
|
|
|
Por que en la página de deporte en directo pirlotvonlinehd.com se carga la página web cada cierto tiempo?
Windows
|
win_7
|
6
|
4,428
|
20 Marzo 2021, 19:07 pm
por win_7
|
|