Perchè effettuare un test di carico del proprio sito web

Il test di carico viene effettuato in situazioni diverse. Ad esempio per vedere come reagisce il sistema, sia quando il traffico è nella media che quando si raggiungono picchi importanti di visitatori. Sapere in anticipo qual è il limite del proprio sito o blog prima che il sistema vada in crash serve a capire quando attivarsi per aumentare le risorse a disposizione.

Quali sono gli aspetti che influiscono sulle prestazioni

Inutile dilungarsi in discorsoni al limite del filosofico, andiamo dritti al punto:

  • Le immagini (più leggere sono e meglio è)
  • Il numero di plugin (soprattutto nei siti in WordPress meno ne abbiamo e meglio è)
  • Il codice non ottimizzato (la causa più fastidiosa da risolvere, perché richiede la riprogrammazione di intere funzioni)

Quali strumenti possiamo usare per fare un test di carico?

Noi di HostinGarage utilizziamo https://k6.io/.
Questo tool permette, con limiti imposti in base al proprio livello di account, di fare delle chiamate con degli utenti virtuali al fine di verificare il comportamento del proprio sito o server, individuandone così i limiti.

Come testare un sito web sotto carico e che situazioni devo prevedere

Tramite il tool K6 che vi abbiamo precedentemente linkato possiamo analizzare come si comporta il nostro sito web “sotto un carico” sia medio che elevato di utenti.
Quali situazioni si potrebbero verificare durante questo test?

Nessuna anomalia

È il caso migliore: significa che nonostante il possibile aumento di potenziali visitatori, tutta l’infrastruttura è ben configurata (sia lato applicativo che lato sistemistico).

Rallentamenti

La navigazione del sito web potrebbe risultare lenta e macchinosa ma senza apparenti errori. In questo caso le verifiche possono essere di 2 tipi:

  • Lato applicativo: possiamo verificare eventuali script o funzioni impattanti sul carico del nostro sito web. Nel caso di WordPress, ci vuole particolare attenzione ai plugin utilizzati. Verificare ed attivare inoltre tutte le best practices per la diminuzione del carico quale la minificazione dei files e l’attivazione della cache.
  • Lato sistemistico: potrebbe risultare risolutivo un aumento delle risorse a disposizione del nostro hosting o VPS.

Blocchi

È il caso peggiore, ovvero quando la navigazione risulta compromessa oppure il sito risulta inaccessibile. In questo caso è necessario ripercorrere i punti nella sezione “rallentamenti” e fare un profondo debug del nostro applicativo.

Se noto anomalie già con “pochi” utenti come posso agire?

Significa che qualche problema, soprattutto lato applicativo, c’è. Suggeriamo un debug approfondito dell’applicazione e una verifica delle risorse del nostro hosting o VPS (nella più rosea delle ipotesi sono nettamente insufficienti e basta un incremento).

Quali valori del server dobbiamo tenere sotto controllo?

Quando avvieremo i test di carico sarà necessario osservare in diretta alcuni parametri, che corrispondono agli indicatori dello stato di salute in quel preciso momento del nostro servizio di hosting.
In particolare i parametri da tenere sotto controllo sono i seguenti:

  • RAM
  • CPU
  • Banda consumata

Checklist sistemistica

Best practice

Per concludere questo articolo vi lasciamo un semplice elenco di “best practices” che potete inglobare come checklist per la realizzazione dei vostri applicativi o siti web.
Già solo con questi punti elencati, il vostro applicativo o sito web impatterà nettamente meno sul server.

  • Minificare scripts e css (se non sono troppo corposi, ci potremmo azzardare ad accorparli per effettuare un’unica chiamata)
  • Ottimizzare immagini (se non avete plugin o estensioni che la fanno in automatico, potete aiutarvi con qualche tool esterno tipo https://tinypng.com/)
  • Attivare cache
  • Effettuare chiamate Javascript asincrone