Saltar al contenido
Menú
El blog de Loading
  • Inicio
  • WordPress
  • Prestashop
  • Correo
  • PHP
  • Dominios
El blog de Loading

Mi tienda Prestashop carga lenta de un día para otro sin haber hecho cambios

Publicada el 15 enero 20193 mayo 2022

En muchas ocasiones algunos clientes nos han reportado problemas de lentitud en sus tiendas Prestashop de un día para otro sin haber hecho cambios. Hay que tener en cuenta que la mayoría de módulos y plantillas realizan conexiones a la web oficial del desarrollador para validar licencias, comprobar actualizaciones, etc.

Esas conexiones se realizan en todo momento, incluido el front-end, por lo que esas conexiones se realizan cuando nuestros usuarios o clientes están visitando nuestro sitio web. Por lo tanto, si la web de alguno de los desarrolladores de nuestros módulos o plantillas tiene alguna incidencia, el rendimiento de nuestro sitio web se verá afectado considerablemente.

Si el tiempo de respuesta de nuestro sitio web es 0.5 segundos, pero la conexión a la web del desarrollador se demora 5 segundos, nuestro sitio tardará 5.5 segundos en responder. Hasta que nuestra tienda no haya completado todas las conexiones externas definidas en los módulos, nuestra página web no mostrará nada y se quedará cargando.

En el siguiente ejemplo, un cliente nos reporta problemas de lentitud en su sitio web, y efectivamente la página no ha sido modificada desde hace semanas. Analizando los procesos identificamos esta conexión:

php-fpm xxxxx xxxxxx 6u IPv6 2206060903 0t0 TCP linxxx.loading.es:58876->[2606:4700:30::xxxx:xxxx]:http (SYN_SENT)

El proceso php-fpm permanece bloqueado durante cerca de 60 segundos realizando esa conexión ya que el servidor de destino (2606:4700:30::xxxx:xxxx) no responde correctamente, por lo que la carga del sitio web se demora más de 60 segundos. Analizando la plantilla y módulos usados, conseguimos identificar a que módulo hace referencia esa dirección IP:

/modules/pk_themesettings/

Después de revisar el código fuente del módulo, detectamos que el problema es de la plantilla/módulo, buscando actualizaciones:

/modules/pk_themesettings/inc/confighelper.php

public function checkupdates() {
    $update_list = "http://promokit.eu/share/updates/"._THEME_NAME_."/5/update_list.dat";
    $msg = "";
    if (!$update = @file_get_contents($update_list)) {
        $msg = false;
    } else {
        $versions = explode(",", $update);
        $i = 1;
        foreach ($versions as $key => $version) {
            if (Configuration::get('ALYSUM_VER') < $version) {
                $msg .= (($i == 1) ? "" : ",").$version;
                $i++;
            }
        }
    }

    return $msg;
}

Por lo que comentamos las lineas que realizan la conexión a la web oficial del desarrollador, quedando así:

public function checkupdates() {
    /*
    $update_list = "http://promokit.eu/share/updates/"._THEME_NAME_."/5/update_list.dat";
    $msg = "";
    if (!$update = @file_get_contents($update_list)) {
        $msg = false;
    } else {
        $versions = explode(",", $update);
        $i = 1;
        foreach ($versions as $key => $version) {
            if (Configuration::get('ALYSUM_VER') < $version) {
                $msg .= (($i == 1) ? "" : ",").$version;
                $i++;
            }
        }
    }

    return $msg;
    */
}

De este modo la página web del cliente no volverá a generar problemas de lentitud buscando actualizaciones de la plantilla. No obstante, puede que tenga otros módulos o plantillas que sigan realizando conexiones de este tipo.

Normalmente cuando la web del desarrollador funcione correctamente no detectaremos ningún problema, aunque hay que tener en cuenta la importancia de usar los módulos 100% necesarios e imprescindibles. Cada conexión cuenta, si por ejemplo tenemos 10 módulos que buscan actualizaciones, y cada conexión se demora 0.10 segundos, estamos generando 1 segundo (10 x 0.10) de carga adicional a nuestro sitio web.

Al hacer un uso abusivo de módulos, tenemos mayor probabilidad de sufrir estos problemas. Aunque los módulos no estén activos, el hecho de estar instalados ya ocasiona que Prestashop tenga que leer su código fuente y realizar las conexiones correspondientes. Por lo que es recomendable eliminar los módulos que estén en desuso y hacer un uso moderado de ellos.

Visto esto, dependemos al 100% de la web de los desarrolladores de nuestros módulos y plantillas.

1 comentario en «Mi tienda Prestashop carga lenta de un día para otro sin haber hecho cambios»

  1. RepararElpc dice:
    20 abril 2019 a las 12:31 pm

    Mira es un tema que me traia loco, tenia un cliente que le pasaba lo mismo y cambiaron en 2 ocasiones de hosting, ya que tenian casi mas de 10.000 referencias en productos y pensaban que era problema de la velocidad de carga, pues bien el ultimo hosting con SSD el problema persistia.
    Resulta que busquedas por internet y foros y doy con este post que nos ha salvado la vida!. Gracias por el trabajo.

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enlaces

  • Dedicados
  • Hosting
  • Dominios
  • Hosting multidominio
  • VPS

Llámanos

+34 966 343 060

  • Aviso Legal LSSI
  • Política de Privacidad
  • Política de Cookies

LOADING

Dominios
Hosting
Resellers
VPS
Dedicados

 

Síguenos en:

  • Facebook
  • Instagram
  • Twitter
©2023 El blog de Loading | Funciona con SuperbThemes y WordPress
Utilizamos cookies propias y de terceros para mejorar nuestros servicios. Si continúa navegando, consideramos que acepta su uso. Puede obtener más información, en nuestra Política de cookies. ConfigurarAceptar Cookies

Cookies

Esta página web usa cookies

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. Fuera de estas cookies, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesarias
Siempre activado
Cookies necesarias para el funcionamiento del sitio web.
Analíticas
Relacionadas con Google Analytics que se usa para distinguir a los usuarios.
GUARDAR Y ACEPTAR