Salta al contenuto principale

Sito web lento 6 Punti Fondamentali per Accelerare la velocità

Hai un sito web lento? Stai perdendo soldi! Accelerare la velocità di un sito web, ha un effetto diretto su SEO e posizionamento nella ricerca, aumenta le conversioni, il CRO e in generale la soddisfazione dei visitatori
Aumentare il Pagespeed di un sito web, soprattutto  l'e-commerce, è un insieme di progettazione dei componenti, alcuni plugin aiutano, ma la resa è molto inferiore rispetto a un intervento dedicato e a livello di sistema e architettura

I 6 punti fondamentali per accelerare le performance di un sito lento

1. Sito web lento, Frontend e Backend

Frontend

Il frontend si occupa di acquisire i dati e trasmetterli al destinatario, di terminare le connessioni in modo corretto e più veloce possibile. I webserver, e la cache sono parti fondamentali per l'ottimizzazione.

I server web degli hosting condivisi, oltre a essere poco flessibili, sono lenti, sono costantemente esposti ad attacchi di ogni genere, avendo al loro interno qualsiasi tipo di sito web, lavorando sulla quantità e il prezzo ridotto. Molti di questi siti sono non aggiornati, bucati e avidi di risorse. Questi problemi, anche se mitigati dal provider, si riflettono sugli altri clienti rendendo il sito web lento.

Solitamente i nostri server web hanno una latenza inferiore al decimo di secondo, fino ad arrivare a 0,01s per architetture dedicate ad altissima ottimizzazione e performance. Questo garantisce tempi connessione e di delivery delle pagine minime

Backend

Il backend è il server che esegue o interpreta il codice del sito, solitamente la cosa più comune, che rende un sito web lento, anche se la più importante.
Gli hosting condivisi o semi condivisi, hanno pesanti limiti sulle query MySQL, e l'esecuzione del codice, hanno tempi di risposta anche superiori ai 2 secondi. L'attesa dei dati rende la presentazione della pagina lenta e può portare a irraggiungibilità estese o temporanee. I "micro-down" sono molto comuni su shared hosting, e difficili da identificare.

Un architettura con un backend che risponde nell'ordine dei secondi, lento nelle query SQL o sottodimensionato, non potrà mai aspirare a buoni risultati.
Nei casi peggiori, come gli e-commerce e i siti web con molti contenuti dinamici, l'esperienza utente diventa veramente sgradevole.
Tutta la catena soffre dei problemi a monte, visto che tutti i dati sono contenuti e trattati al suo interno.

Apache

Il webserver Apache è il più utilizzato e quello con maggiori feature, date da un infinità di moduli, supporta inoltre la solita sintassi htaccess che tutti conoscono.
Negli ultimi anni è sempre più utilizzato NginX, che è generalmente più veloce. In realtà la questione è molto più complessa dei singoli benchmark. Apache ha configurazioni che permettono di arrivare, a performance simili ad Nginx, inoltre comprende moduli per l'accelerazione dei contenuti, non presenti in NginX, non necessita di migrare l'.htaccess. La configurazione di default di Apache, però, è poco ottimizzata per motivi di compatibilità.

NginX

È un ottimo web server, velocissimo e affidabile, lo abbiamo utilizzato in molte architetture cloud, fra cui anche l'infrastruttura high performance video streaming, testata con più di 500K utenti simultanei
NginX vanta un efficace meccanismo di caching, è ottimo come reverse proxy, per la distribuzione di contenuti statici e per l'uso a thread fortemente parallelo.

Non prendo nessuna posizione, in quella che è la guerra dei webserver, li amo tutti, e per ogni obbiettivo, un web server può essere più adatto rispetto all'altro. Se puntiamo solamente alle performance, come in questo caso per ottimizzare un sito web lento, NginX è la scelta più razionale

MySQL e MariaDB

Nei siti dinamici, la velocità nell'accesso al database, che sia MySQL, MariaDB, Postgres, MongoDB o altri database, è importantissima e influisce pesantemente sulla resa del sito.
Tramite strumenti di analisi, si possono migliorare i tempi, di accesso e di esecuzione delle query, ottimizzare l'uso della cache, il consumo di RAM, le tabelle fino ad arrivare a basso livello al filesystem dell'istanza.
Questo garantisce di accelerare le query e il database rendendo il sito rapido nell'interattività con l'utente

2. Mod_pagespeed

Questo modulo creato da Google è ottimo, è utilizzabile su Apache e NginX, mod_pagespeed ottimizza a livello server, tutti i componenti presenti, in tutti i siti web su cui è abilitato.
Non è necessario nessun cambio al codice, è possibile configurarlo per dominio a livello virtual host e tramite .htaccess

Il modulo riduce i tempi di caricamento dei siti web, modificando in tempo reale il codice della pagina e ottimizzandone i componenti

mod_pagespeed ha alcuni svantaggi: necessita di molte risorse, intervenendo in tempo reale sul codice, per avere la massima resa necessita configurazione, test e analisi dei risultati

Cosa fa modpagespeed

Con mod_pagespeed è possibile fare veramente moltissimo per l'ottimizzazione di un sito web lento.

Le principali feature di mod_pagespeed:

  • Minify di CSS e JavaScript
  • Minify dell'HTML
  • Combina JS e CSS per ridurre le richieste
  • Ottimizzazione della cache dei file
  • Ridimensiona, ottimizza e converte le immagini in vari formati
  • Molto, molto altro, come puoi vedere sul sito ufficiale

3. Content Delivery Network CDN

Un sito veloce non è nulla senza una distribuzione efficiente e rapida, per questo si utilizzano i Content Delivery Network (CDN)
Le CDN, creano una cache geografica e distribuiscono i contenuti statici, come immagini e file all'utente in base alla sua posizione geografica.
Alcune come ad esempio Cloudflare hanno anche altre funzioni, fra le più interessanti:

  • Protezione contro gli attacchi DDOS
  • Web Application firewall, WAF
  • Cache geografica dei contenuti statici
  • Routing e trasporto ottimizzato
  • Riduzione delle richieste al backend
  • Certificati SSL gratuiti

4. Prossimità geografica

Le CDN fanno un ottimo lavoro, distribuendo i contenuti tramite network dedicati, i dati variabili, vengono comunque richiesti all'origine, la nostra architettura.
Per situazioni di alta distribuzione o in paesi come la Cina, in cui molte CDN non operano, è possibile distribuire l'architettura, instradando gli utenti in un percorso determinato, basato sulla prossimità geografica o sull'interconnessione più veloce, rispetto alla posizione geografica della richiesta.

Per chi ha siti internazionali, che vendono al di fuori dell'Europa e specialmente in Cina, è possibile distribuire i contenuti, sincronizzati in tempo reale, da un origine all'interno della nazione. Questo elimina i lunghi tempi necessari per attraversare dorsali continentali e il firewall di stato, il Great Firewall of China, garantendo tempi di caricamento e interattività pari a quelli di un sito locale

5. Alta affidabilita HA e Scaling

Se il vostro sito gestisce volumi di traffico o di acquisti che non vi permettono di essere irraggiungibili, i picchi di utenti sono elevati e improvvisi, una "macchina più grossa" non è la soluzione che vi può aiutare nel lungo periodo.

Grazie all'alta affidabilità HA, nel caso di un failure di una istanza è presente una replica attiva che gestisce gli utenti, prevenendo il disservizio.
Tramite la distribuzione del carico, su più webserver e l'autoscaling è possibile creare architetture elastiche, allocano risorse durante i momenti di carico e le rilasciano (o eliminano) nel momento di minore utilizzo.

L'autoscaling ci permette di risparmiare risorse, e quindi soldi. Quando gli utenti diminuiscono come ad esempio la notte, le risorse vengono rimosse. Inoltre le istanze in stato di blocco sono ricreate, ripristinando la concorrenza dei webserver

6. Cosa può fare lo sviluppo

Lo sviluppo è molto importante e può fare tanto. Se si mira ad alte performance, è necessario testare e monitorare l'impatto dei componenti utilizzati nel sito web durante tutte le fasi. Un esempio classico sono i plugin, sono semplici da utilizzare ma potrebbero integrare codice lento, chiamate a risorse esterne, immagini non ottimizzate e molti altri componenti che rendono il sito web lento.

Nei siti o nelle web app custom, che non usano un CMS o un ecommerce come base, ma sono sviluppati su richiesta del cliente, è necessario ottimizzare il codice, seguendo le linee guida di Google per il Pagespeed. Durante lo sviluppo del progetto, è necessario testare frequentemente che il nuovo codice non rallenti e appesantisca le pagine. Questo vi farà risparmiare risorse per l'hosting e costi di infrastruttura.

Aggiungi un commento

Text Only

  • Nessun tag HTML consentito.