Amici di PassioneTecnologica.it, oggi ci rivolgiamo in particolar modo a tutti coloro i quali, utilizzando un Blog su piattaforma WordPress hanno installato (o intendono farlo) il famoso Plugin NewStatPress (http://newstatpress.altervista.org), dedicato alle statistiche avanzate del Blog. Premettiamo che il plugin è davvero “ganzo“, fa il suo lavoro alla grande e consente di monitora in tempo reale gli accessi al sito, fornendo utilissime informazioni sui visitatori e le loro preferenze.
Tuttavia, abbiamo ricevuto innumerevoli segnalazioni di una problematica riscontrata nel tempo dai vari utilizzatori di NewStatPress. Il problema è relativo alla pesantezza dei numerosi log file che, in maniera esponenziale, si accumulano all’interno delle tabelle del database e vanno ad occupare il nostro prezioso spazio MySql fino alla sua completa saturazione. I servizi di hosting gratuito che offrono database MySql di piccola dimensione saranno i primi a rimetterci, i vari fornitori di servizi non attenderanno un solo istante a contattarci indicando la saturazione del database ed intimandoci di pagare per ampliarlo. E’ scontato aggiungere che, più il nostro Blog sarà visitato e maggiore saranno i log e lo spazio occupato dal plugin.
Altro grande inconveniente per un database MySql saturo è quello legato al fatto che le query diventano sempre più lente con il risultato di una maggior tempistica di accesso al sito da parte degli utenti e di problematiche simili legate alla gestione dello stesso da parte nostra. Il problema è esponenziale negli hosting gratuiti poichè se Mysql impiega troppo tempo ad eseguire query il caricamento delle pagine viene interrotto con errore 505.
L’unico rimedio offerto dal plugin per tamponare la problematica è quello di impostare la cancellazione dei log più vecchi, che però limiterebbe l’utilità delle funzioni ed il fascino che lo stesso plugin offre agli utilizzatori di WordPress.
Se avete attivato NewsStatPress ed avete il database MySql intasato di tabelle e dati dei quali volete liberarvi, vi consigliamo di cancellare il plugin da WordPress svuotando successivamente la tabella denominata dal vostro database MySql
Per le statistiche possiamo sempre utilizzare Google Analytics 😉
Quello che dici è perfettamente vero: salvando tutti i dati di ogni accesso la tabella aumenta inesorabilmente. Purtroppo questo è quello che faceva anche l’originale StatPress da cui il codice è ereditato.
Le modifiche effettuate in NewStatPress, aggiungendo indici al database, permette di avere un sistema più responsivo.
Con Statpress sul mio sito base che aveva un database di 100MB non si riusciva neppure più ad entrare nella pagina statistiche, ed è per questo che è nato NewStatPress.
Attualmente con un database cresciuto a 200MB (ho 10.000 visitatori mensili e oltre 65.000 pagine viste al mese), si riescie comunque a visualizzare le statistiche in tempo reale.
Ovviamente su un free hosting (come quelli che uso io) c’è la limitazione PHP di 30 secondi massimi per l’esecuzione di uno script, per cui è impossibile aggiornale un database del genere, perchè richiederebbe almeno 10 minuti di tempo macchina.
Personalmente non voglio cancellare vecchie statistiche per rendere il database più piccolo, per cui già un anno fa avevo cominciato la storicizzazione dei dati per diminuire la dimensione del database (E’ anche per questo che è nato NewStatPress). Queste modifiche non sono ancora disponibili, ma sono in fase di test (il problema maggiore è che la creazione delle tabelle intermedie richiederebbe tempo macchina e con la solita limitazione PHP di 30 secondi la procedura di conversione del database si interromperebbe prima di completarsi).
Sto comunque provando varie altre tecniche per diminuire la mole di dati, pur mantenendo le attuali informazioni disponibili.
Ovviamente usando NewStatPress su tutti 5 i miei siti web, ho tutto l’interesse per risolvere nel miglior modo questo problema 😉
In ogni caso il plugin è costantemente in fase di miglioramento, grazie anche ai contributo e le richiste che mi pervengono tramite i post nel guestbook o nel form contatti.
Non tutte le richieste vengono risolte istantaneamente (alcune modifiche comportano la riscrittura di gran parte di quello che era StatPress), ma alcune sono disponibili già il giorno dopo 🙂