2009-02-10 17 views
23

Sono in procinto di selezionare un'AMI per il mio sito Web sulla rete Amazon EC2. Sembra che le istanze di Ubuntu siano disponibili in 32 o 64 bit di sapori. Presumibilmente i sistemi a 64 bit ti danno più spazio per l'indirizzamento della memoria, il che è positivo. Tuttavia, mi chiedo se sia un problema trovare i binari precompilati. Devo stare meglio con 32 bit? La mia applicazione web non richiede un'intensa memoria.Amazon EC2 - Quale server di Ubuntu scegliere: 32 bit o 64 bit?

Perché dovrei selezionarne uno sull'altro e quali sono i pro e i contro?

+1

Una buona domanda, ma leggermente meglio adattata a Server Fault, credo. – Jonik

+4

La maggior parte delle risposte è obsoleta ora che Amazon EC2 supporta AMI a 64 bit su tutti i tipi di istanze. Poiché EC2 non supporta 32 bit su tutti i tipi di istanze, consiglio sempre di utilizzare 64 bit: http://alestic.com/2012/03/ec2-64-bit –

risposta

13

È necessario prendere una decisione in base alle dimensioni dei server desiderati.

AMI

32 bit eseguiti solo su m1.small, mentre AMI 64 bit eseguiti solo su m1.large e m1.xlarge istanze (oltre alle rispettive varianti alta CPU).

Le istanze più grandi ovviamente costano più denaro, con un prezzo che teoricamente si riduce in modo lineare con le prestazioni. Tuttavia, ho trovato che le istanze grandi e xlarge in realtà hanno un po 'più di rendimento/dollaro rispetto alle piccole istanze.

Anziché essere dovuto all'architettura a 32 o 64 bit, questo sembra essere dovuto alla contesa sui controller I/O. Se stai lavorando seriamente su EC2, ti consiglio di andare con le istanze m1.large e le AMI a 64 bit che questo comporta.

+4

Oggigiorno ci sono più tipi di istanze per AMI a 32 e 64 bit: http://aws.amazon.com/ec2/instance-types/. A parte questo, +1 – Jonik

+0

So che a questo è stata data risposta nel 09, ma quanto di un guadagno "performance/dollaro" stiamo parlando qui? Ormai, abbiamo anche t1.micro in esecuzione a 2 cent/h. Quindi, invece di ottenere un m1.large, mi chiedo se è saggio prendere un sacco di t1.micro (ciascuno a $ 15, non $ 250) – Antony

+0

"A partire dall'8 marzo 2012, Amazon EC2 supporta AMI a 64 bit su tutti tipi di istanza. " - vedi la risposta di Eric sotto. –

9

Un problema che si è presentato al mio team durante una distribuzione a 64 bit è il fatto che i puntatori su una macchina a 64 bit sono più grandi, quindi abbiamo esaurito la memoria più velocemente di quanto pensavamo di fare.
Non una risposta, lo so, solo un testa a testa.

+2

Questa è una grande preoccupazione quando la memoria è vincolata; Ho visto regolarmente che le app Rails occupano l'80% di memoria in più sui sistemi a 64 bit rispetto a 32 bit. Sì, la memoria è economica, ma se devi spendere il doppio del denaro, è comunque un costo significativo. – womble

+0

Il tuo team ha testato questo in un ambiente a 32 bit? – Philip

0

64 bit offre più spazio sull'indirizzo di memoria e può eseguire meglio in caso di attività intensive del processore. Trovare i binari non dovrebbe essere un problema se si presuppone l'utilizzo di software standard come PHP e Mysql. Andrei con 64 bit a meno che tu non abbia alcune librerie rare che potrebbero non funzionare a 64 bit.

1

Contro: come dice RKitson, i puntatori a 64 bit occupano il doppio dello spazio di memoria. Questo può costare prestazioni se significa che il tuo materiale non si adatta alla cache della CPU ora.

Pro: ottieni il doppio dei registri - i programmi che ne beneficiano mostrano un notevole miglioramento delle prestazioni. (e un secondo pro: le versioni a 64 bit dei pacchetti sono tutte compilate con supporto SSE ... questo potrebbe anche migliorare le prestazioni, a seconda del carico di lavoro)

Vorrei solo costruire entrambe le immagini e confrontarle, è più facile che teorizzare, e non dovrebbe neanche costare giorni.

1

Direi di andare con 32 bit a meno che non sia davvero necessario 64 bit per motivi di prestazioni. Puoi eseguire Ubuntu a 32 bit su un'istanza m1.small che costa 10c/istanza dell'istanza, o circa $ 75 al mese; al contrario, l'opzione più economica per 64 bit è m1.large, che costa quattro volte di più - 40c/istanza di un'ora o circa $ 300/mese.

2

Se il costo è priorità, andare a 32 bit. Se le prestazioni sono importanti, andare a 64 bit.

2

Le informazioni di base hanno già una risposta. Vorrei solo sottolineare che le relativamente nuove istanze supportano sia a 32 che a 64 bit. Questo non si applica (ancora) alle piccole istanze.

9

A partire dall'8 marzo 2012, Amazon EC2 supporta AMI a 64 bit su tutti i tipi di istanze.

Questo rende le risposte precedenti in questo elenco obsolete in quanto assumono diversi tipi di istanze richiedono scelte di architettura diverse.

Si consiglia di utilizzare sempre AMI a 64 bit in modo da avere la massima flessibilità nel modificare il tipo di istanza di un'istanza e le AMI personalizzate create dall'istanza funzioneranno su qualsiasi altro tipo di istanza.

Ho scritto più su questo qui: http://alestic.com/2012/03/ec2-64-bit

Ci sono alcuni buoni punti di discussione nei commenti dei lettori su questo articolo per le eccezioni specializzati dove a 32 bit potrebbe prestazioni migliori rispetto a 64-bit, ma ricordate che questo limita i tipi di istanze che è possibile eseguire.

+1

Questa risposta e l'articolo collegato dovrebbero essere davvero più visibili. +1 upboat per te signore! –

Problemi correlati