Informatica, Tecnologia, Fotografia e Design
Fai i tuoi acquisti su Amazon

LINK SPONSORIZZATI

17 August 2009

Ottimizzare e velocizzare WordPress avendo cura del database



Con il passare del tempo, dei post e dei commenti, i blog basati su piattaforme WordPress richiedono sempre maggiori risorse macchina come RAM e CPU, sui vari hosting su cui risiedono; per questo è molto importante dare sin da subito al proprio blog, un’impostazione “al risparmio“.

Facciamo una piccola premessa: al momento di una nuova installazione, il database di un blog WordPress (2.8.4) conta 10 tabelle e precisamente le seguenti:

  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_term_relationship
  • wp_term_taxonomy
  • wp_usermeta
  • wp_users

Queste tabelle sono quelle che permettono al nostro blog di essere funzionale e performante. Con il tempo vengono riempite di numerosi dati, posts, commenti, tags e via dicendo; l’aumento di tutte queste informazioni provoca un inevitabile aumento del tempo di elaborazione delle operazioni con conseguente rallentamento globale del blog.

Ottimizzare e velocizzare WordPress avendo cura del database - Vista delle tabelle originali del database nativo WordPress

Altri fattori in grado di deteriorare la velocità del nostro blog sono dati dai plugin che in molti casi, aggiungono nuove tabelle ed ulteriori elementi che contribuiscono al rallentamento di cui sopra, in particolare: i plugin relativi a statistiche memorizzate in locale, a post ed articoli correlati.

Dalla versione di WordPress 2.6 inoltre, le revisioni di ogni post e la funzione di autosave, utilissime in ambienti WordPress sui quali contribuiscono più autori contemporaneamente, ma quasi inutili in blog mono-autore, contribuiscono ad appesantire ulteriormente la situazione.

Ottimizzare e tenere pulito il database WordPress in pochi semplici passi

Ma in pratica cosa si può fare? Per prima cosa, analizziamo alcuni aspetti e risolviamo alcune criticità che in determinati scenari possono incrementare le prestazioni sin da subito.

Mantenere WordPress aggiornato

Prima di tutto è necessario e vitale mantenere WordPress aggiornato all’ultima versione disponibile, in questo modo potremo beneficiare delle ultime ottimizzazioni del codice, delle query e delle fix sulla sicurezza del nostro blog.

Ottimizzate il database e fate frequenti backup con WP-DBManager

Prendete in considerazione l’idea di dotarvi di un plugin per la completa gestione del database, personalmente utilizzo WP-DBManager, validissimo aiuto per le operazioni settimanali di ripulitura, ottimizzazione e backup. Con questo plugin avrete infatti un potente strumento con il quale potrete gestire al meglio il database.

Ogni mese circa, dovrete effettuare un’ottimizzazione delle tabelle, semplicemente cliccando dal menu Optimize DB, l’operazione di norma è abbastanza veloce e permette al vostro database di riorganizzare i dati delle tabelle in maniera ottimale.

Rimuovete le revisioni dei post che risultano ridondanti

Altro plugin molto interessante è Delete-Revision, un valido metodo per eliminare tutte le revisioni dei post che sono ridondanti, e risparmiare preziosi byte del nostro database.

L’utilizzo è molto semplice, dal menu Settings -> Delete-Revision, cliccate sul menu Check Redundant Revision ed infine cliccate su Yes per la cancellazione.

Rimuovete i plugin che impegnano il database e quelli inutilizzati

In particolar modo, rimuovete tutti i plugin che tengono traccia delle statistiche sul nostro database. Se volete vedere le statistiche del vostro blog, vi consiglio di utilizzare Google Analytics, spiegato benissimo nel blog di Marco Cilia, oppure il plugin ufficiale WordPress.com Stats che salva su database di WordPress.com le varie statistiche.

Rimuovete inoltre tutti i plugin che non utilizzate, non serve solo disattivarli, dovreste proprio rimuoverli del tutto, controllando eventuali tabelle residue estranee a quelle base di installazione, e procedendo alla rimozione, utilizzando sempre WP-DBManager direttamente dal menu Empty/Drop Tables. Da utilizzare con particolare attenzione, facendo un backup preventivo dell’intero DB.

Sfruttate la cache per il vostro database DB Cache Plugin

DB Cache Plugin di consente di dimezzare o ridurre drasticamente le query e conseguentemente le chiamate al database del nostro blog, generando dei file temporanei su disco e riutilizzandoli in un arco temporale prestabilito. La configurazione è veramente semplice: digitate il tempo di expire (scadenza, io ho messo 10 minuti) della cache e cliccate sulla casella Enable per abilitare il plugin.

Testando il plugin direttamente sul mio blog, ho notato sin da subito un incremento delle prestazioni in termini di velocità di caricamento delle pagine. Vi illustro la mia prova:

Per visualizzare in numero delle query ed il tempo impiegato per il caricamento della pagina, è necessario che inseriate nel footer del vostro tema WordPress, il seguente codice:

[code]<!– <?php echo get_num_queries(); ?> query in <?php timer_stop(1); ?> secondi. ->[/code]

Questo codice, permette di scrivere un commento nella pagina HTML del vostro blog. Per vedere il risultato, è sufficiente ricaricare la pagina e visualizzarne il contenuto HTML, nel mio caso per visualizzare la home page di Tr3ndy.com ho impiegato 1,895 secondi con 25 query; dopo aver installato ed abilitato DB Cache il risultato è stato il seguente: 0,586 secondi e 12 query… meno della metà!

Ma il risultato più stupefacente l’ho ottenuto sul singolo post: ho preso in esame il mio ultimo post, riguardante le talpe robot, senza plugin attivo, il tempo di caricamento e le query chiamate sono davvero elevate: 1,569 secondi e ben 65 query eseguite. Riabilitando il plugin e ricaricando la pagina, ho avuto una bellissima sorpresa: 0,705 secondi e solo 34 query eseguite, le rimanenti sono state generate dalla cache!

Aggiornamento veloce:

Purtroppo dopo aver attivato il plugin DB Cache è sorto un problema con la gestione delle tags in WordPress. Sia in modifica post che nella modifica veloce non è possibile aggiungere ulteriori tags o cancellarle. Inoltre mi sono accorto che nemmeno i commenti e lo spam di Akismet lavorano in maniera corretta. Per cui fate attenzione e ricordatevi di questi fastidiosi bug, che prontamente segnalerò al programmatore del plugin!

Per il momento è tutto. Se alcuni di voi utilizzano e conoscono altri semplici sistemi per velocizzare WordPress, tenendo particolare cura al database, lasciate pure i vostri link ed opinioni nei commenti!




15 Responses

  1. Pingback : Come velocizzare il proprio Blog | Enrico Vignali

  2. Pingback : Come velocizzare il proprio Blog | Guadagno su Internet

    1. Ciao Andrea,
      sono molto contento che i suggerimenti ti siano serviti… grazie dei complimenti, non mancherò di venirvi a trovare 😉

    1. Ciao Redemption,
      ti ringrazio per i complimenti…
      che io sappia con l’ultimo aggiornamento dovrebbero aver risolto, almeno dai forum di WP non risultano exploit in questo senso…

      Purtroppo a me è capitato che abbia fatto rallentare il server in una maniera scandalosa, per cui lo avevo disattivato qualche tempo fa, poi dopo un pò mi sono deciso per riprovarlo nuovamente e per il momento sono abbastanza soddisfatto…

  3. Ciao!
    Sono uno degli autori di http://www.farwest.it e sono capitato qui per caso, girovagando su Google alla ricerca di una soluzione per l’improvvisa impennata delle dimensioni del database del nostro sito. In un paio di giorni, senza particolari motivi, è balzato da 50 Mb a 75 Mb!!! Tanto da farmi temere problemi a breve scadenza per via delle dimensioni pagate su Aruba.
    Sono arrivato qui, dicevo, ed ho potuto leggere, digerire e apprezzare questo splendido post che ha contribuito notevolmente alla risoluzione del problema.
    Uno dei suggerimenti, infatti, quello sulle revisioni degli articoli, mi è stato d’aiuto e il database è sceso immediatamente a 30 Mb! E perciò ho deciso di scrivere un ringraziamento a te che sei l’autore. Grazie di cuore perchè hai creato un articolo utile.
    Sergio
    .-= Sergio´s last blog ..Tom Horn =-.

    1. Ciao Sergio,
      ti ringrazio infinitamente per avermi raccontato la tua esperienza, e sono davvero molto contento di esserti stato di aiuto. WordPress è davvero ricco e completo, ma deve essere tenuto sotto stretta sorveglianza. Aruba è un ottimo hosting per le “medie” esigenze, peccato il database MySQL così risicato, anche se comunque è facilmente upgradabile… Complimenti per il tuo blog e per il forum, hai davvero una community molto attiva!

  4. Ciao Carlo,
    complimenti.

    Sei riuscito ad esprimere in maniera chiara e precisa un argomento tutt’altro che semplice.

    Penso che questa tua mini guida la applicherò da subito passo/passo, dato che sto proprio litigando con il mio blog, che in questo periodo è un po’ troppo esoso di risorse 🙂
    .-= Enrico – Guadagno su Internet´s last blog ..Guadagnare Vendendo Domini =-.

    1. Ti ringrazio Francesco,
      e ti capisco in pieno; pur essendo in Agosto il dispendio delle risorse non sembra aver subito alcun calo, magari saranno CPU e RAM sotto sforzo per il caldo… 😉

      Hai subito cali o incrementi in questo mese te?

  5. Non credo si possa fare a meno dei plugin; non sono una smanettona e vorrei tanto potermi dedicare esclusivamente a produrre contenuti piuttosto che controllare e aggiornare la parte dietro le quinte dei miei Blog….credo sia il lavoro del futuro, oppure trasmigreremo tutti su facebook e accetteremo passivamente cosa succede quando premiamo invio! Che ne dici, la mia è una previsione futuribile?
    .-= Fabiola´s last blog ..Lettere stilizzate: nuova elaborazione del Font con Angeli =-.

    1. Ti prego Facebook nooo! Tempo fa leggevo del problema del problema che Wikipedia avrebbe con i nuovi editori e con coloro che producono i contenuti… stimano che la più grande “perdita” provenga da Facebook e successivamente Twitter. Secondo me i blog sono ancora il primo e fondamentale mezzo di comunicazione alternativa su internet, il resto sono giocattoli che fanno tendenza, fino a quando vengono soppiantati dal prossimo giocattolaio… certo essere il fondatore di Facebook non mi sarebbe di certo dispiaciuto!

  6. Bellissimo articolo…complimenti! Però certo che ogni cambiamento deve essere testato anche rispetto al tema usato nel proprio Blog! Alcuni temi consentono maggiori modifiche di altri e certi plugin sono un vero mistero…ho dovuto abilitare e disabilitare uno ad uno tutti i plugin per scoprire la fonte di un codice fuori posto sul mio Blog. Ma non si può fare a meno dei plugin secondo te?
    .-= Fabiola´s last blog ..Lettere stilizzate: nuova elaborazione del Font con Angeli =-.

    1. Ciao Fabiola,
      che piacere averti ospite del mio blog 😀

      Guarda il dilemma dei plugin è molto arduo da risolvere. L’unico motivo per cui si utilizza una piattaforma come WordPress rispetto ad altre è probabilmente la personalizzazione. Temi, widget, plugin e codice facilmente integrabile, danno un vero spessore all’open source di WordPress, anche se inevitabilmente comportano frequenti aggiornamenti, fix e bug davvero duri da risolvere. Tuttavia alcuni plugin sono e rimarranno dei must: All in One SEO, WP Super Cache, Subscribe to Comments e XML Sitemap.. come faremmo senza?

      Nelle ultime 3/4 release di WordPress ci sono stati dei problemini abbastanza seri, che vanno dalla compatibilità di plugin famosi come WP Super Cache e WordPress.com Stats, fino a falle di sicurezza. Più i sistemi sono decentrati più sono le probabilità di incappare in difficoltà di gestione autonoma; sistemi come Blogger del quale ho scritto in questo post, non sono proprio da buttare… chissà magari un giorno, un blog in casa Google?!?

      Te invece potresti mai farne a meno?

Leave a Reply

Time limit is exhausted. Please reload CAPTCHA.