Voglio sapere quali aspetti nei pacchetti di hosting VPS sono correlati alle prestazioni per il sito web che renderanno più veloce il caricamento per gli utenti finali. E la RAM conta davvero?
Ecco i principali in ordine di miglior miglioramento per il tempo trascorso. Alcuni di questi saranno più un collo di bottiglia a seconda dei dati che stai trattando.
Front-end: Ci sono facili vittorie sul front end. Riduci il numero di richieste con sprite di immagini e aggregando file css / js. Assicurati che gzip e le intestazioni della cache siano in uso.
Hardware: L'hardware può essere economico rispetto al tuo tempo. Lancia più ram per il problema. Forse metti il tuo database su un altro server per ridurre il disco io.
File statici:
Inserisci file statici su un altro dominio e non utilizzare i cookie. Potresti usare static.mydomain.com. Aiuta a servirli con un server leggero come nginx, questo ridurrà molto l'utilizzo della RAM.
Un CDN è un'opzione facile per questo. 0,1 secondi sono considerati veloci nell'usabilità. Sono in Australia quindi probabilmente mi hai perso, non importa quanto velocemente servi i file.
Memorizzazione nella cache del lato server: Impostare un proxy inverso, è molto più efficiente avere Nginx che serve le pagine per rallentare le connessioni mobili di un processo di apache pesante che aspetta in attesa che la risposta finisca.
Memcached è un modo semplice di memorizzare nella cache le cose in memoria per un rapido recupero.
Ottimizzazione del database: Tieni traccia di quali query sono in esecuzione lentamente. Aggiungi indici sulle colonne che stai utilizzando. Riduci il numero di join denormalizzando dove appropriato. Dovrai mettere il database su un secondo server in una fase. Un sacco di RAM può essere d'aiuto in quanto gli indici possono essere conservati interamente nella RAM.
Se ti interessa l'hosting in cluster, guarderò alcune presentazioni da facebook e youtube, ingegneri di wikipedia su come l'hanno fatto.
modifica alcuni video: Ridimensionamento di YouTube: link Workshop Django / General Scaling: link
Anche una cosa che ho dimenticato è che se hai la possibilità di cercare un motore di ricerca dedicato come Solr / Sphinx puoi aiutarti.
Nella mia esperienza, la RAM fa più differenza con i database / datastore che con i server web.
A meno che tu non abbia un'applicazione web complessa, scegli la potenza di elaborazione in quanto ciò potrebbe influire sulle prestazioni più della memoria!
Modifica > Baso la mia esperienza di lavoro con server Web e database separati. Il server web non utilizzava alcuna memoria mentre il server del database doveva essere configurato in modo tale che la RAM fosse fondamentalmente un disco RAM.
Con potenza di elaborazione intendo quale CPU stai usando; velocità di elaborazione, numero di core. Se si dispone di un database sullo stesso VPS, è possibile considerare di aggiungere più RAM poiché ciò influirebbe sulle sue prestazioni.
Se stai iniziando, non importa comunque perché hai comunque bisogno del traffico. Solo quando il sito sta diventando lento e non risponde è quando dovresti preoccuparti dell'ottimizzazione.
Che varia enormemente a seconda di ciò che verrà eseguito sul server.
Per un server web hai bisogno solo di una quantità ragionevole di RAM, non fa una grande differenza per usarne di più. Per un server di database più RAM è meglio, non c'è davvero alcun limite superiore finché non si ha spazio nella memoria per la memorizzazione nella cache di tutti i dati nei database e tutti i risultati comuni.
I fattori che rendono più veloce il caricamento di un sito sono generalmente:
I fattori che rendono sembrare un caricamento più veloce sono più complessi, alcuni importanti sono:
La RAM conta enormemente.
Si applicano i soliti sospetti: quanti sono i core sulla macchina, la velocità dei core, il numero di sessioni VPS, il numero di utenti di siti Web concorrenti, ecc.
Direi che più RAM è probabilmente la prima cosa più significativa che puoi fare per aumentare le prestazioni. La RAM influenza la tua capacità di cache, la tua capacità di servire le pagine; La RAM influisce su tutto.
La RAM è la cosa più importante ma guardi anche cose come usare una CDN per gli script sul tuo sito come jQuery per rimuovere il carico dal server che li serve e assicurarti che tutto (css / javascript / immagini) sia compresso quanto possibile.
Ci sono aspetti hardware e software:
Hardware : un punto di partenza sarà un singolo server con hardware capace: molta RAM, sistema multi-CPU, dischi ad alte prestazioni, dischi multipli (sistema operativo, dischi di scambio e dati separati) , più schede di rete (molte connessioni in entrata). Una volta che sei al di là di una grande macchina, guarderai più macchine e soluzioni di bilanciamento del carico. La suddivisione del database in un server separato con tonnellate di RAM sarà di aiuto, ma a breve sarà necessario aggiungere altri server Web.
Dove investire dipende dalla tua applicazione web e dal suo profilo di utilizzo - misura le prestazioni, la risposta, l'utilizzo, ecc. e scala di conseguenza.
Dopodiché, cercherai di distribuire server in tutto il mondo, magari sfruttando le reti di distribuzione di contenuti per capitalizzare innanzitutto la loro configurazione.
Software : le corrette impostazioni di memorizzazione nella cache del server per le pagine che pubblichi faranno una grande differenza per gli utenti e i costi della larghezza di banda. I browser Web moderni possono memorizzare nella cache tutto il JS e le immagini del tuo sito. Se riesci a strutturare il tuo sito affinché sia il più possibile in grado di cache, con il minor numero di pagine generate dinamicamente, meglio è.
Utilizza gli Strumenti per sviluppatori nel tuo browser per esplorare un sito popolare e vedere come ottengono una risposta eccellente.
Leggi altre domande sui tag performance hosting