Più RAM rispetto a più server


9

Di recente mi è stato chiesto "Sai quando decidere se scegliere più RAM o più server?" (nel contesto del ridimensionamento delle applicazioni di data mining).

Non ne avevo idea, quindi quali sono alcuni modi per decidere? Ho una conoscenza molto scarsa dell'architettura e del ridimensionamento (la mia comprensione della memoria del computer e di ciò che fa un server è limitata alle basi di alto livello), quindi sono molto ben accetti anche i suggerimenti per saperne di più su queste cose in generale.


3
Posso avere entrambi, per favore?
Dirk Eddelbuettel,

1
Più RAM in ogni caso che mi viene in mente ... (tranne per il fatto che il server è al massimo su RAM)
jcolebrand

3
Come per la maggior parte dei sysadmin. La migliore risposta, se possibile, è raccogliere dati su un sistema di sviluppo o di produzione e quindi prendere una decisione in base ai dati raccolti.
Zoredache,

La domanda che stai ponendo è se ridimensionare o ridurre.
micmcg,

la maggior parte dei software di data mining è progettata per un computer. quindi più RAM. Se stai usando Mahout o parallel-R o quello che hai, allora più server. Vorrei noleggiare i server Amazon AWS per sperimentare per trovare la migliore combinazione # server / ram.
Neil McGuigan,

Risposte:


8

"Sai quando decidere se scegliere più RAM o più server?" (nel contesto del ridimensionamento delle applicazioni di data mining).

La risposta è non appena mi darai le metriche per il server in questione, ti dirò quale (o se vale la pena aggiungere entrambi). Questo tipo di messa a punto non è voodoo (unles stai usando applicazioni senza strumentazione e sistemi operativi server senza strumentazione, quindi sì è voodoo) è scienza. Misura l'applicazione e il server. In poche parole, usando le metriche di monitoraggio, scopri dove si trova il collo di bottiglia delle prestazioni e aggiungi altro.


No, è ancora voodoo, ma sei uno stregone! Più precisamente ... come fa un neofita a usare questa risposta per risolvere il suo problema? Quali sono le metriche di base che dovrebbe guardare esaminare e come fa a sapere quali numeri sono significativi? Ottieni il mio punto ...
tomjedrz,

Questo tipo di mi ricorda la vecchia battuta in mongolfiera. officediversions.com/discover/modules/wfsection/…
tomjedrz

La risposta di quali metriche di base dipende da quale sistema. La domanda è così generica che è impossibile dare una risposta più specifica oltre alle nozioni di base (CPU, memoria, disco, ecc. E monitor delle applicazioni). Dato l'ipotetico neofita, semplicemente non riescono a ottenere una risposta a questo problema perché devi prima sapere come monitorare i server in questione - e questa sarebbe una domanda completamente separata
Jim B

5

Di solito c'è un po 'di voodoo (o almeno tentativi ed errori) nel miglioramento delle prestazioni di server / applicazioni.

La regola generale per la domanda specifica è di aumentare prima la memoria fino a quando non può più essere aumentata OPPURE fino a quando una maggiore quantità di memoria non migliora più le prestazioni. Con una memoria relativamente economica, può essere più semplice semplicemente aumentare al massimo la memoria. Inoltre, se l'applicazione è pesante su disco, l'aggiornamento a unità ad alta velocità o controller ad alte prestazioni può fare la differenza.

Tuttavia, la natura molto generale della domanda mi porta a pensare che non ci siano stati altri tentativi di migliorare le prestazioni. Sono d'accordo che l'hardware sia economico, quindi anche lanciare più server su un problema è abbastanza facile da realizzare. Ma vorrei anche assicurarmi che siano state fatte altre strade, in particolare la messa a punto del sistema operativo e del database. A volte piccole modifiche al database, al sistema operativo o persino alla configurazione dell'applicazione possono comportare enormi miglioramenti delle prestazioni.

Cerca in questo sito con il tuo sistema operativo, database e applicazione specifici e potresti trovare il gold.


5

Come architetto aziendale ho affrontato questo problema quasi quotidianamente. Ridimensionamento verticale o orizzontale?

Quali sono le tue esigenze?

Hai bisogno di supportare più utenti? Devi migliorare la velocità del servizio? Hai bisogno di entrambi? Hai bisogno di un'elevata disponibilità 99.9999 o i tuoi utenti possono evitare tempi di inattività?

Per iniziare, è necessario acquisire le metriche delle prestazioni sul sistema corrente. Numero di utenti attivi, carichi di RAM e CPU, I / O del disco: scopri dove si trovano i colli di bottiglia.

Possibili soluzioni basate su problemi: iniziare con l'ottimizzazione delle risorse attuali. Se l'applicazione è basata su database, ottimizza il database con query, thread, cache, indici, ecc. Se condividi un server con altre applicazioni, esplora il passaggio a un server dedicato. (Cerca nella virtualizzazione applicazioni meno attive / critiche per liberare risorse dedicate).

le macchine attuali sono a piena capacità, RAM e CPU fortemente caricate, I / O a disco elevato - calcolare i costi per aggiungere RAM, è possibile passare a I / O su disco più veloce (RAID, SATA al posto di ATA)?

Se è necessaria un'elevata disponibilità, probabilmente è necessario aggiungere hardware e bilanciamento del carico comunque.

È più economico aggiungere aggiornamenti hardware o aggiungere nuovi server? Che si adatta agli obiettivi a lungo termine e alla crescita?

Qual è il momento migliore per il tuo reparto IT per spendere soldi? Hai fondi adesso o vuoi spostare le spese in un altro trimestre / anno? Se i fondi sono un problema, ottimizza ora o esplora la liberazione dell'hardware da altre applicazioni per aggiungere una soluzione di bilanciamento del carico temporaneo.

Non aver paura di esplorare numerose soluzioni. I fornitori potrebbero voler acquistare una soluzione incentrata sul carico, incentrata sullo storage SAN, in cui un nuovo server con iSCSI RAID 10 integrato funzionerà al 10% del costo.

Se la tua CPU è ancora pesantemente caricata dopo l'ottimizzazione, devi aggiungere / sostituire l'hardware. Se l'I / O del disco è il collo di bottiglia e non è possibile aggiornare la tecnologia di archiviazione, è necessario sostituire l'hardware o aggiungere soluzioni di archiviazione di rete / archiviazione.

Cattura metriche delle prestazioni. Ottimizza, migliora e acquisisci di nuovo le metriche. Continua a documentare aumenti / diminuzioni delle prestazioni in modo da poter presentare un rapporto che documenta quanto hai speso e quanto guadagno ha comportato. Questo è il tipo di possibili storie di successo che trasformano gli amministratori in architetti, gli architetti in project manager e i PM in alti dirigenti se fatti bene.


2

Stai paging? Utilizzerai la RAM per memorizzare nella cache il disco? Sei collegato alla CPU con RAM libera?

Se stai effettuando il paging e / o puoi utilizzare la RAM per memorizzare nella cache, ottieni più RAM. Se non stai incontrando la pressione della RAM, allora è qualcos'altro.


2

La RAM è economica. Dovresti sempre prima di tutto al punto in cui hai la quantità più economica lì dentro (ad esempio, i moduli DIMM da 4 GB sono proibitivi e quindi non mi preoccuperei di loro).

Quindi esplora il ridimensionamento lateralmente (più server). Considera l'hardware di consumo a buon mercato rispetto a parti costose del server, ma aspetta errori e crea stime di failover nella tua capacità di elaborazione totale.

Fondamentalmente, fai un Google .


1

Quale sistema operativo stai usando, quanta RAM supporta e quanta RAM hai sono anche domande da porre. Se sei al limite di un sistema operativo a 32 bit, l'acquisto di più RAM non ti gioverà. Se si utilizzano Windows alcuni SKU sono limitati a determinate quantità di RAM che non sono esattamente correlate al limite a 32 bit.


1

Alcune persone sembrano pensare che l'aggiunta di RAM sia una soluzione magica. Aiuta solo se RAM se è il collo di bottiglia.


Non è "magico", ma è relativamente economico ed è un buon primo tentativo il più delle volte.
tomjedrz,

1
@ tomjedrz: un buon primo tentativo tranne quando non lo è. È davvero molto semplice: stiamo facendo "l'amministrazione dei sistemi come una scienza" e stiamo aggiungendo RAM a una macchina dopo aver fatto test e monitoraggio delle risorse che mostrano che ne ha bisogno, o stiamo facendo "l'amministrazione di sistema come un culto religioso" e aggiungendo RAM su una macchina perché è quello che ci dicono le pergamene religiose è la preghiera corretta per un server un po 'lento? Personalmente preferisco l'approccio scientifico.
Rob Moir,

0

Più RAM = più macchine virtuali.

Quindi suppongo che più RAM = più server !!


1
più macchina virtuale sono necessari più iop, ram è solo una delle molte risorse con cui giocare.
tony roth,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.