Tecniche avanzate per spingere al limite la velocità di caricamento del tuo sito web
Pubblicato: 2018-12-26Il bisogno di velocità. Sebbene la citazione sia qualcosa di tipicamente associato alle auto, il web ha anche bisogno di velocità. Gli utenti non solo richiedono che i siti si carichino rapidamente, molti utenti riferiscono che iniziano a infastidirsi quando un sito impiega più di 3 secondi per caricarsi.
Se il tuo sito impiega più di 8 secondi di reazione all'input di un utente, abbandonerà il sito, per non tornare mai più. Avrai perso un cliente per sempre.
Oltre all'esperienza utente dell'utente, c'è un altro visitatore che richiede che il tuo sito web sia veloce: Google. La velocità di caricamento del sito Web è in realtà un fattore di ranking, i siti che non sono veloci vengono penalizzati nelle classifiche organiche rispetto ai siti che si caricano velocemente.
Ma probabilmente sai già tutto questo, infatti, ci sono centinaia di articoli su come far caricare più velocemente i siti web, anche su questo sito.
Ma andremo al di là di tutto questo. Ora cambieremo marcia e menzioneremo alcune tecniche avanzate che porteranno la velocità di caricamento del tuo sito Web al livello successivo.
1. Ospita il tuo sito su un Server Privato Virtuale (o superiore)
Ospitare il tuo sito web su un VPS (o un server privato virtuale), è la prima e più semplice cosa che devi fare per velocizzare il caricamento del tuo sito web. Non è molto avanzato e non è particolarmente all'avanguardia, ma è comunque essenziale.
Ci sono più ragioni per questo.
Il primo tra questi è che la maggior parte degli account di hosting si concentra sull'essere redditizia per l'azienda che fornisce il servizio, piuttosto che sulle prestazioni dei siti che sono ospitati su di essi.
Il concetto di hosting è che prendi alcuni server fisici e inserisci centinaia o addirittura migliaia di siti Web su di essi in modo tale da realizzare un profitto.
Eseguiamo alcuni numeri per spiegare questo.
Diciamo che un server fisico costa $ 1000 al mese per la società di hosting e un account di hosting condiviso ha un prezzo di $ 5 al mese.
Il server di hosting deve ospitare 200 siti Web ($ 5 * 200 = $ 1000) solo per raggiungere il pareggio. Ha bisogno di 240 siti, realizza un profitto di $ 200 al mese su quel server.
Quindi un account di hosting condiviso condivide le risorse del server con altri 240 siti Web e il tuo sito Web è in competizione per le risorse con TUTTI quei siti Web.
Dal momento che non hai alcun controllo su nessuno di questi siti Web, è molto probabile che il tuo sito funzioni lentamente non per colpa tua, ma perché ci sono altri siti che utilizzano il server.
Anche se i numeri sopra potrebbero non essere esatti, il concetto alla base è reale.
Un server privato virtuale è molto diverso. In genere costa da 5 a 10 volte di più di un server di hosting condiviso, quindi la società di hosting richiede meno "clienti" per giustificare e realizzare un profitto in quel server.
Ma per un'azienda che gestisce un'attività tramite il proprio sito Web, perché dovresti preoccuparti di essere avaro con pochi miseri dollari al mese? Qual è la vera differenza tra il pagamento di $ 4,95 e il pagamento di $ 29,95 al mese? Non rovinerà la banca, vero?
Inoltre, gli account VPS in genere hanno risorse dedicate a ciascun account. In sostanza, queste risorse come la memoria e il tempo della CPU sul server sono riservate al tuo sito Web e solo al tuo sito Web.
Ciò significa che nessun altro account può utilizzare le risorse del tuo account, anche se il tuo sito Web non ha utenti in questo momento e non sta utilizzando tali risorse.
Ciò consente a ciascun account di essere eseguito molto più velocemente in generale e i siti Web ospitati su VPS sono in genere più veloci di alcuni secondi rispetto a quelli ospitati su account condivisi.
Scoprirai che molti servizi offrono aggiornamenti gratuiti con i loro account di server privati virtuali, come l'integrazione con una CDN o servizi avanzati di sicurezza del sito Web tramite terze parti come Incapsula e supporto per HTTP2, come parte dell'account di hosting o con un piccolo costo aggiuntivo commissione: tutto ciò garantisce il buon funzionamento del tuo sito.
Ancora più importante, con un VPS, il cliente ha pieno accesso alla configurazione del software server che esegue il proprio sito Web, con pieni diritti amministrativi su quelle risorse dedicate al proprio account.
Quindi, per prima cosa, aggiorna il tuo account di hosting condiviso a un server privato virtuale, o anche a un server dedicato, se hai il budget per questo.
Questo è qualcosa che è importante per le prossime tecniche che menzioneremo di seguito, perché la maggior parte di esse richiederà l'accesso a WHM o l'accesso amministrativo al tuo server.
2. Aggiorna il tuo database MySQL alle ultime versioni o MariaDB
Se stai eseguendo un WordPress o un altro CMS o un sito basato su database, è probabile che il tuo sito Web utilizzi MySQL come back-end del database.
Questo perché MySQL viene preinstallato sulla maggior parte degli account di hosting per impostazione predefinita.
Tuttavia, la maggior parte delle persone non è consapevole del fatto che la versione predefinita di MySQL installata sulla maggior parte degli account è piuttosto vecchia, a volte quasi obsoleta. Inoltre non è molto veloce, rispetto ad altre tecnologie che sono state ottimizzate per la velocità.
E ciò che la maggior parte delle persone non sa, che esiste un motore di database equivalente che può facilmente sostituire MySQL, dando anche un aumento della velocità del sito web.
Questo è il motore di database MariaDB . In realtà è stato creato dagli sviluppatori originali di MySQL e quindi puoi immaginare che vorrebbero renderlo scambiabile al 100% con MySQL.
In effetti, le aziende importanti che utilizzano questo veloce motore di database per la loro infrastruttura includono Wikipedia, Google e persino WordPress.com!
Anche se non esegui l'aggiornamento a MariaDB, esegui l'aggiornamento all'ultima versione di MySQL. Le ultime versioni del software sono sempre più veloci ed efficienti rispetto alle versioni precedenti.
L'aggiornamento ovviamente non è per i deboli di cuore, è una procedura intrinsecamente rischiosa ed è necessario disporre di backup su cui è possibile ripristinare nel caso in cui le cose non funzionino bene.
Richiede inoltre che tu abbia accesso ROOT al tuo server o VPS, motivo per cui abbiamo menzionato che devi eseguire l'aggiornamento a un VPS o server dedicato.
Per fare ciò, (dopo aver eseguito un backup completo della VM), accedi a WHM.
Vai a Home >> Software >> Aggiornamento MySQL/MariaDB .
C'è quindi una semplice procedura guidata che puoi seguire per eseguire automaticamente l'aggiornamento.
3. Aggiorna all'ultima versione di PHP7
Proprio come accennato in precedenza, scoprirai che la versione predefinita della configurazione di PHP con la maggior parte degli account di hosting non è la più veloce.
Ad esempio, se il tuo hosting è impostato su una versione predefinita di PHP5.6, questo non ha più supporto attivo da alcuni anni (gennaio 2017).
Anche il supporto per la versione 7.0 è al termine del supporto da dicembre 2017 con l'attuale versione supportata che è la versione 7.2.
Tuttavia, per motivi legacy, la maggior parte degli account di hosting continuerà a utilizzare per impostazione predefinita queste versioni precedenti di PHP, ma in realtà PHP7.2 è un motore estremamente veloce!
Qualsiasi buon servizio di hosting dovrebbe permetterti di fare del 7.2 il motore utilizzato per i tuoi siti. Se non è disponibile per te, probabilmente è il momento di cambiare il tuo servizio con uno migliore!
Ovviamente, assicurati sempre di controllare che il software in esecuzione sul tuo sito Web sia compatibile con questa versione di PHP. Se le cose si interrompono durante l'aggiornamento, dovrai ricontrollare con il fornitore specifico per assicurarti che ci sia una soluzione o una soluzione alternativa, o forse c'è una versione a cui devi aggiornare.
4. Configura OpCache per PHP
Probabilmente hai letto più e più volte che è necessario implementare la memorizzazione nella cache del browser per il tuo sito, ad esempio seguendo l'articolo qui, e anche implementare un meccanismo di memorizzazione nella cache dei file che crea effettivamente una copia del tuo sito Web in modo che possano essere serviti rapidamente.
Ma c'è un terzo livello di memorizzazione nella cache di cui potresti non essere a conoscenza, ma è forse quello che è in grado di portare il tempo di risposta del tuo server a meno di mezzo secondo.
Questa è la memorizzazione nella cache di bytecode e ha lo scopo di rendere più veloce l'esecuzione effettiva di PHP. Il modo in cui funziona PHP è la compilazione di script in codici operativi che vengono eseguiti.
Gli opcode vengono generati ogni volta che viene eseguito il codice PHP. Ciò significa che se il codice PHP non cambia, la generazione di codici operativi è una perdita di tempo e risorse.
La memorizzazione nella cache dei bytecode consente di risparmiare tempo memorizzando gli opcode in memoria e una volta che il PHP deve essere eseguito, il codice compilato viene recuperato dalla memoria ed eseguito immediatamente.
Questo rende l'esecuzione di quel codice PHP velocissima. Combina questo con un VPS, in esecuzione su un server di database aggiornato e la memorizzazione nella cache a livello di file del tuo sito WordPress o CMS e il tempo di risposta del server è in genere compreso tra 200 e 400 ms.
Ancora più importante, tale tempo di risposta del server è una misura generalmente considerata come la misurazione utilizzata da Google come fattore di ranking (TTFB), quindi aumentare questo tempo di risposta è un grosso problema.
Esistono vari modi per abilitarlo, abbiamo scoperto che il modo migliore per farlo per la nostra configurazione era abilitare una configurazione in EasyApache4 che contiene OpCache e quindi configurare le impostazioni di conseguenza.
5. Opta per Nginx invece di Apache
La nostra raccomandazione finale è un po' drastica e richiede molte modifiche, ma dato che stiamo discutendo di tecniche avanzate, non possiamo tralasciare questa.
Apache è stato il server Web standard per l'hosting di siti letteralmente da decenni, ma la sua popolarità è diminuita nel corso degli anni, principalmente a causa di un forte concorrente: Nginx.
Questo server web è in costante aumento in popolarità, principalmente perché è in grado di superare Apache, in particolare per i siti molto trafficati, che devono essere in grado di ottimizzare ogni aspetto della loro infrastruttura. Nginx in genere supera Apache quando si tratta di connessioni simultanee, il che significa che è in grado di servire più utenti contemporaneamente di Apache.
Sebbene Nginx non abbia rilevato Apache in termini di numero totale di siti Web che utilizzano il server, ha notevolmente superato Apache tra i primi 10.000 siti Web sul Web, con Nginx che alimenta oltre il 60% dei siti, contrariamente ad Apache che ospita meno di 20%.
Dato l'aspetto di come Nginx è in grado di superare Apache quando si tratta di connessioni simultanee, ha molto senso che i primi 10.000 siti, che in genere servono centinaia o addirittura migliaia ogni minuto, non c'è da meravigliarsi che Nginx stia prendendo il sopravvento .
Quindi, se il tuo sito ha bisogno di più connessioni in modo efficiente, Nginx è la conclusione logica.
Ovviamente, passare da Apache a Nginx, se la tua infrastruttura è già configurata, non è per i deboli di cuore.
Avrai bisogno di
- Verifica che tutto il tuo software sia completamente compatibile con Nginx
- Installa Nginx e tutti i moduli aggiuntivi richiesti dal tuo sito
- Passa tutte le configurazioni e l'ottimizzazione per Apache in Nginx (il modo in cui sono configurate è diverso)
- Implementare qualsiasi ottimizzazione delle prestazioni necessaria per spingere il server al limite
Il modo più semplice per configurare Nginx su CPanel e WHM è utilizzare un modulo chiamato Engintron.
Avvolgendo
Le tecniche di cui sopra non sono per i deboli di cuore. Hanno bisogno di un'attenta considerazione e deve essere messo in atto un intero processo per assicurarsi di aver testato il tuo sito per eventuali problemi che potrebbero verificarsi eseguendo modifiche così drastiche. Ma una volta implementate la maggior parte delle modifiche di cui sopra, sarai facilmente in grado di ridurre il tempo di caricamento del tuo sito a meno di 2 secondi. E quando lo farai, vedrai i vantaggi in arrivo con pochi mesi, con migliori frequenze di rimbalzo, migliori classifiche e, soprattutto, clienti più felici!