Quanto Le Prestazioni Non Proprio Cloud Server Davvero Bisogno?

0
40
agsandrew/Shutterstock

Maggior parte dei fornitori di cloud dividere le loro offerte in numero di core della CPU e la quantità di RAM. Avete bisogno di un grande multicore server, o di un’intera flotta di loro? Ecco come fare per misura il vostro server di prestazioni reali.

L’Applicazione è Bisogno di “Scala”?

E ‘ molto comune per le startup tech di essere attratto da “scalabile” l’architettura—che è, la costruzione di un’architettura server in modo che ogni componente può di scala per soddisfare qualsiasi quantità di domanda.

Questo è grande e tutti, ma se non stai vivendo la quantità di traffico reale, può essere eccessivo (e più costoso) per costruire architettura scalabile con l’intento di scalare fino a un milione di utenti, se hai solo la gestione di un paio di migliaia di euro.

Avrai voglia di priorità per la costruzione di una buona app su edificio eccezionale infrastruttura. La maggior parte delle applicazioni eseguire sorprendentemente bene con pochi e di facile gestione server standard. E, se la tua applicazione fa mai rendere grande, la crescita avverrà probabilmente nel corso di pochi mesi, dandovi tutto il tempo (e i soldi) per lavorare sulla vostra infrastruttura.

Architettura scalabile è ancora una buona cosa per costruire intorno a se, in particolare su servizi come AWS dove autoscaling può essere utilizzato per ridurre e risparmiare denaro durante le ore non di punta.

CORRELATI: Come velocizzare un Sito Lento

È Necessario Pianificare per Carico di punta

La cosa più importante da tenere a mente è che non hai intenzione intorno a medio carico, si sta programmando in tutto carico di picco. Se il server non riesce a gestire il carico di picco durante il mezzogiorno, non hanno servito il loro scopo. È necessario assicurarsi che si sta misurando e la comprensione del server di carico nel corso del tempo, piuttosto che prendere una guardare l’utilizzo della CPU in un singolo momento.

Architettura scalabile venire qui a portata di mano. Essere in grado di implementare rapidamente un punto di istanza (spesso molto meno) di prendere parte del carico off della rete di server è un ottimo paradigma di progettazione, e consente di ridurre significativamente i costi. Dopo tutto, se avete solo bisogno di due server per un paio di ore al giorno, perché pagare per eseguire una notte?

La maggior parte dei grandi fornitori di servizi cloud hanno anche soluzioni scalabili per contenitori, come finestra Mobile, che consentono di scalare le cose automaticamente dal momento che l’infrastruttura può essere duplicato più facilmente.

CORRELATI: Cosa Mobile che Fare, e Quando usarlo?

Quanto Le Prestazioni Non Proprio Server?

E ‘ una domanda difficile a cui rispondere esattamente; tutti le applicazioni e i siti web sono diversi, e ognuno di hosting di server è diverso. Non possiamo darvi una risposta precisa su quale server si adatta al tuo caso di utilizzo migliori.

Quello che possiamo fare è dirvi come fare per sperimentare per trovare quello che funziona meglio per la vostra applicazione particolare. Si prevede di eseguire l’applicazione in condizioni reali, di misura e di alcuni fattori per determinare se si è sopra o sottocarichi.

Se la vostra applicazione è sovraccarico, si può girare un secondo server e utilizzare un sistema di bilanciamento del carico per bilanciare il traffico tra di loro, come AWS Elastic Load Balancer o Velocemente del servizio di Bilanciamento del Carico. Se è significativamente sottocarichi, si può essere in grado di salvare un paio di dollari da affittare a meno da server.

L’Utilizzo della CPU

L’utilizzo della CPU è probabilmente il più utile metrica di prendere in considerazione. Ti dà una panoramica generale di come sovraccarico il server è; se l’utilizzo della CPU è troppo alta, le operazioni del server può macinare una battuta di arresto.

L’utilizzo della CPU è visibile nella parte superiore, e caricare le medie per gli ultimi 1, 5 e 15 minuti e sono visibili. Si ottiene questo tipo di dati da /proc/loadavg/, in modo che è possibile accedere a un file CSV e grafico in Excel, se si desidera.

Maggior parte dei fornitori di cloud avrà una migliore grafico per questo, però. AWS ha CloudWatch, che consente di visualizzare l’utilizzo della CPU per ogni istanza sotto il EC2 metriche:

Google Cloud Platform si presenta con un bel grafico sotto la “Sorveglianza” scheda nell’istanza info:

In entrambi i grafici, è possibile regolare i tempi di visualizzare l’utilizzo della CPU nel tempo. Se il grafico è costantemente colpire il 100%, si potrebbe desiderare di guardare in un aggiornamento.

Tenete a mente, però, che se il server dispone di più core, l’utilizzo della CPU potrebbe essere ancora “overload”, mentre il grafico è in nessun posto vicino al 100%. Se l’utilizzo della CPU è bloccato vicino al 50%, e si dispone di un server dual-core, è probabile che la vostra applicazione è per lo più single threaded, e non vedendo tutti i benefici di prestazioni.

L’Utilizzo della RAM

L’utilizzo della RAM è meno probabile che oscillano, in quanto è in gran parte una questione di se o non si dispone di sufficiente per eseguire un determinato compito.

È possibile visualizzare l’utilizzo della memoria rapidamente in alto, che mostra attualmente allocata memoria per ogni processo, in “RES”, colonna, così come la visualizzazione di utilizzo come percentuale del totale della memoria in “%MEM” colonna.

È possibile premere Maiusc + M per ordinare %MEM, che elenca le più intensivo della memoria dei processi.

Nota, velocità di memoria influisce la velocità della CPU in una certa misura, ma probabilmente non è il fattore limitante, a meno che non hai un’applicazione che richiede il metallo nudo e la massima velocità possibile.

Spazio Di Archiviazione

Se il tuo server è in esecuzione a corto di spazio, si può mandare in crash alcuni processi. È possibile controllare l’utilizzo del disco con:

df -H

Visualizza l’elenco di tutti i dispositivi collegati al tuo esempio, alcuni dei quali potrebbero non essere utili a voi. Cercare il più grande (probabilmente /dev/sda1/), e si può vedere quanto è attualmente utilizzato.

Hai bisogno di fare un uso efficace di rotazione dei log, e assicurarsi che non vi è nulla di creazione di file in eccesso nel sistema. Se c’è, si consiglia di limitare a un solo memorizzare gli ultimi file. È possibile eliminare i vecchi file utilizzando trova con parametri di tempo, collegato a un cron job che viene eseguito una volta ogni ora:

0 * * * * find ~/backup/ -type f -mmin +90 -exec rm -f {} ;

Questo script consente di rimuovere tutti i file in ~/backup/ cartella di età superiore a 90 minuti (utilizzato per un Minecraft server che faceva da 1GB+ dimensioni backup ogni 15 minuti, riempire un SSD da 16GB). È inoltre possibile utilizzare logrotate, che ottiene lo stesso effetto più elegante di questo in tutta fretta comando.

Se si memorizza un sacco di file, è possibile che si desidera spostare loro gestiti per un servizio di archiviazione come S3. Sarà più conveniente che avere unità allegata all’istanza.

CORRELATI: Come per l’Installazione di Logrotate su Linux (per Mantenere Il Server da esaurire lo Spazio)

Velocità Di Rete

Non c’è un ottimo modo per monitorare questo modo nativo, quindi, se si vuole ottenere un buon risultato della riga di comando, installazione sar da sysstat:

sudo apt-get install sysstat

Attivare modificando /etc/default/sysstat e l’impostazione “ABILITATO” a true.

Così facendo monitor di sistema e genera un report ogni 10 minuti, girandoli una volta al giorno. È possibile modificare questo comportamento modificando il sysstat crontab /etc/cron.d/sysstat.

È possibile raccogliere una media di traffico di rete con il flag-n:

sar-n DEV 1 6

Il tubo di coda per il più bello di uscita:

sar-n DEV 1 6 | coda -n3

Visualizza una media di pacchetti e di kilobyte inviati al secondo su ogni interfaccia di rete.

E ‘ più facile usare una GUI per questo, però; Ur è un “attrezzature per rete” e “NetworkOut” statistica per ogni istanza:

È possibile aggiungere un’etichetta dinamica con una funzione di SOMMA, che indica il numero totale di rete, in byte, per un determinato periodo di tempo.

Se non sei un sovraccarico della rete è difficile giudicare; la maggior parte del tempo, si sono limitati da altre cose, ad esempio se il tuo server è in grado di tenere il passo con le richieste, prima di preoccuparsi di utilizzo della larghezza di banda.

Se siete davvero preoccupati per il traffico o desidera servire di file di grandi dimensioni, si dovrebbe prendere in considerazione ottenere un CDN. Un CDN può prendere sia un carico fuori del vostro server e consentono di servire media statici in modo molto efficiente.