Scalare WordPress: analizziamo il database

database scalabilità performance

Nel precedente articolo abbiamo visto come liberarci del file system distribuito per migliorare la scalabilità di WordPress.

Ora vorrei parlare della soluzione studiata per Monrif, dove l’esigenza era ottimizzare le performance delle queries che gravavano sul database.

Application Performance Management

Nel caso di Monrif, le attività necessarie a migliorare la scalabilità della piattaforma sono state due:

  • analisi delle query tramite strumento di APM;
  • rimozione di plugin inadatti.

 

L’APM (Application Performance Management), è in grado di evidenziare gli errori e i colli di bottiglia di qualsiasi piattaforma web: nel caso di Monrif, è stato usato New Relic che consente anche una facile integrazione con WordPress.

Il plugin wp-simple-firewall o Shield Security, fornisce un’ottima serie di funzionalità legate alla security di WordPress tra cui recaptcha al login, whitelist/blackilist IP e protezioni da attacchi di tipo SQL injection/XSS.

Tuttavia, come si vede dalle immagini, questo plugin porta con sé un tempo di caricamento e un numero di queries notevoli; questo ci ha spinto a trovare un’altra soluzione.

database plugin tempo caricamento
Tempo di caricamento

 

database plugin numero queries
Numero di queries

 

 

Alleggerire il database

Rinunciando al plugin non volevamo abbassare il livello di sicurezza della piattaforma, quindi, per mantenere lo standard raggiunto, abbiamo riportato le funzionalità che erano in capo a Shield Security, lato web server su Nginx. Questa operazione ha consentito di scaricare il database da centinaia di queries.

 

Gli strumenti di APM, come New Relic, sono fondamentali; soprattutto in piattaforme con elevato traffico generato.
Se in un primo momento possiamo aggiungere repliche o istanze più performanti, presto o tardi dovremo iniziare a valutarne il codice per raggiungere l’obiettivo finale della scalabilità.