Prestashop 1.7.x e il problema delle Slow Queries: come ottimizzare la tua piattaforma e-commerce

P

Prestashop 1.7.x e il problema delle Slow Queries: come ottimizzare la tua piattaforma e-commerce

Introduzione

Prestashop è uno dei più popolari sistemi di gestione e-commerce disponibili oggi. Ma come con ogni software, ci sono sempre delle sfide e delle questioni che emergono, specialmente quando il software inizia ad adattarsi alle esigenze crescenti dei suoi utenti.

La Sfida delle Slow Queries

Una delle principali criticità che molti utenti di Prestashop 1.7.x stanno riscontrando, specialmente quelli con grandi database di prodotti, è il problema delle slow queries. Queste sono le query al database che richiedono molto tempo per essere eseguite e possono influenzare significativamente le prestazioni del tuo sito web. Il problema diventa particolarmente evidente quando si ha un database che contiene centinaia di migliaia di prodotti e di prezzi specifici.

Un esempio di una delle query più frequentemente lente può essere visto nel log del database:

SELECT COUNT(DISTINCT `id_product`) FROM `ps_specific_price` WHERE `id_product` != 0 LIMIT 1;

Questa query viene eseguita ogni volta che un utente visita una pagina prodotto. Il suo scopo principale è di “ottimizzare” la cache della risposta fornita dal motore del database. Ma, come si può facilmente intuire, c’è un grosso problema con questa query.

L’Origine del Problema

Questa query analizza l’intera tabella ps_specific_price e conta tutti i valori univoci degli id_product. Anziché essere un’operazione veloce da pochi millisecondi, questa query può trasformarsi in un mostro che introduce latenze di vari secondi! Immagina l’effetto su un sito e-commerce molto frequentato: secondi di attesa ogni volta che un cliente tenta di visualizzare un prodotto.

Il codice dietro a questa query potrebbe avere avuto senso una decina di anni fa, quando la maggior parte dei siti Prestashop aveva solo poche centinaia di prodotti. Ma con l’evoluzione e l’espansione del commercio elettronico, questa “ottimizzazione” si è rivelata controproducente.

La Soluzione: Ottimizzare per il Futuro

Fortunatamente, la comunità di sviluppatori di Prestashop è attiva e proattiva. Una soluzione a questo problema è stata proposta in una merge sul repository GitHub del codice sorgente di Prestashop. Questa correzione modifica la struttura della query, rendendola molto più efficiente e riducendo significativamente il tempo di attesa per l’utente finale.

Per chi è interessato a implementare questa soluzione, si consiglia di visitare il repository ufficiale di Prestashop su GitHub e cercare la merge specifica.

Conclusione

La tecnologia e le esigenze degli utenti evolvono rapidamente, e i sistemi software devono adattarsi di conseguenza. Il problema delle slow queries in Prestashop 1.7.x è un esempio perfetto di come una soluzione del passato possa diventare un problema nel presente. Ma con la giusta attenzione e l’intervento della comunità di sviluppatori, le piattaforme possono essere ottimizzate per offrire un’esperienza migliore a tutti gli utenti. Se stai utilizzando Prestashop per il tuo sito e-commerce, assicurati di tenerti aggiornato con le ultime patch e soluzioni per garantire le migliori prestazioni possibili.

https://github.com/PrestaShop/PrestaShop/issues/26772

https://github.com/PrestaShop/PrestaShop/pull/26773/files#diff-e9f311abab7cc3e1754fbecfa7de68653e3f9fe01262b08b9a6b29d98e100da8L283-R301

About the author

Avatar photo
Matteo Lavaggi