2009-02-10 3 views
23

Ich bin gerade dabei, ein AMI für meine Website im Amazon EC2-Netzwerk auszuwählen. Es scheint, als ob die Ubuntu-Instanzen in 32 oder 64-Bit-Varianten kommen. Vermutlich geben die 64-Bit-Systeme mehr Speicheradressraum, was gut ist. Ich frage mich jedoch, ob es ein Problem ist, vorkompilierte Binärdateien zu finden. Bin ich besser dran mit 32 Bit zu bleiben? Meine Webanwendung ist nicht besonders speicherintensiv.Amazon EC2 - Welcher Ubuntu-Server ist zu wählen: 32bit oder 64bit?

Warum sollte ich eins vor dem anderen auswählen und was sind die Vor- und Nachteile?

+1

Gute Frage aber etwas besser passen auf Server Fault, glaube ich. – Jonik

+4

Die meisten Antworten sind inzwischen veraltet, da Amazon EC2 64-Bit-AMIs für alle Instanztypen unterstützt. Da EC2 32-Bit auf allen Instanztypen nicht unterstützt, empfehle ich immer 64-Bit zu verwenden: http://alestic.com/2012/03/ec2-64-bit –

Antwort

13

Sie sollten Ihre Entscheidung basierend auf der Größe der Server treffen, die Sie möchten.

32-Bit-AMIs laufen nur auf m1.small, während 64-Bit-Ami nur auf m1.large und m1.xlarge Instanzen laufen (plus die jeweiligen hohe CPU-Varianten).

Größere Instanzen kosten offensichtlich mehr Geld, wobei der Preis theoretisch linear mit der Leistung skaliert. Allerdings habe ich festgestellt, dass große und xlarge Instanzen tatsächlich ein wenig mehr Leistung/Dollar als kleine Instanzen haben.

Anstatt aufgrund der 32- oder 64-Bit-Architektur zu sein, scheint dies auf Konflikte bei E/A-Controllern zurückzuführen zu sein. Wenn Sie ernsthaft an EC2 arbeiten, empfehle ich, mit m1.large Instanzen und den 64-Bit-AMIs, die das mit sich bringt, zu gehen.

+4

Heutzutage gibt es mehrere Instanztypen für 32- und 64-Bit-AMIs: http://aws.amazon.com/ec2/instance-types/. Abgesehen davon, +1 – Jonik

+0

Ich weiß, dass dies in 09 beantwortet wurde, aber wie viel von einem "Leistung/Dollar" Gewinn reden wir hier? Inzwischen haben wir auch t1.micro mit 2 Cent/Std. Also, anstatt eine m1.large zu bekommen, frage ich mich, ob es vernünftig ist, eine Tonne t1.micro zu erhalten (jeweils bei $ 15, nicht $ 250) – Antony

+0

"Ab dem 8. März 2012 unterstützt Amazon EC2 64-Bit-AMIs über alle Instanztypen. " - Siehe Erics Antwort unten. –

9

Ein Problem, das bei einer 64-Bit-Bereitstellung in meinem Team auftauchte, war die Tatsache, dass die Zeiger auf einem 64-Bit-Computer größer waren und der Arbeitsspeicher schneller lief, als wir dachten.
Keine Antwort, ich weiß, nur ein Kopf hoch.

+2

Dies ist ein großes Problem, wenn Speicher beschränkt ist; Ich habe regelmäßig gesehen, dass Rails-Apps auf 64-Bit-Systemen 80% mehr Speicher benötigen als auf 32-Bit-Systemen. Ja, Speicher ist billig, aber wenn du doppelt so viel Geld ausgeben musst, ist das immer noch ein erheblicher Kostenfaktor. – womble

+0

Hat Ihr Team dies in einer 32-Bit-Umgebung getestet? – Philip

0

64 Bit bietet mehr Speicheradressraum und kann bei prozessorintensiven Aufgaben besser ausgeführt werden. Das Finden von Binärdateien sollte kein Problem sein, wenn man Standardsoftware wie PHP und Mysql verwendet. Ich würde mit 64 Bit gehen, es sei denn, Sie haben einige seltene Bibliotheken, die möglicherweise nicht unter 64 Bit laufen.

1

Con: Wie RKitson sagt, nehmen 64bit Pointer doppelt so viel Speicherplatz. Das kann Leistung kosten, wenn es bedeutet, dass Ihre Sachen jetzt nicht in den CPU-Cache passen.

Pro: Sie erhalten doppelt so viele Register - Programme, die davon profitieren, zeigen eine Menge Leistungsverbesserung. (und ein zweiter Profi: 64-Bit-Versionen von Paketen sind alle mit SSE-Unterstützung kompiliert ... dies könnte auch die Leistung verbessern, abhängig von Ihrer Arbeitslast)

Ich würde einfach beide Bilder erstellen und Benchmarks, das ist einfacher als Theoretisieren, und sollte auch keine Tage kosten.

1

Ich würde sagen, mit 32-Bit gehen, wenn Sie aus Leistungsgründen wirklich 64-Bit benötigen. Sie können 32-Bit-Ubuntu auf einer m1.small-Instanz ausführen, die 10c/Instanzstunde kostet, oder ungefähr 75 $/Monat; Im Gegensatz dazu ist die günstigste Option für 64-Bit m1.large, die viermal so viel kostet - 40c/Instanz-Stunde oder etwa 300 €/Monat.

2

Wenn Kosten Priorität haben, gehen Sie für 32bit. Wenn Leistung wichtig ist, gehen Sie für 64bit.

2

Die Grundlagen sind bereits beantwortet. Ich möchte nur darauf hinweisen, dass die relativ neuen Mikroinstanzen sowohl 32 als auch 64 Bit unterstützen. Dies gilt (noch) nicht für kleine Instanzen.

9

Seit dem 8. März 2012 unterstützt Amazon EC2 64-Bit-AMIs für alle Instanztypen.

Dies macht die vorherigen Antworten in dieser Auflistung veraltet, da sie annehmen, dass unterschiedliche Instanztypen unterschiedliche Architekturentscheidungen erfordern.

Ich empfehle, immer 64-Bit-AMIs zu verwenden, damit Sie den Instanztyp einer Instanz am flexibelsten ändern können und Ihre benutzerdefinierten AMIs, die von der Instanz erstellt wurden, auch für andere Instanztypen verwendet werden können.

ich hier geschrieben habe dies mehr zu: http://alestic.com/2012/03/ec2-64-bit

Es gibt einige gute Diskussionspunkte in den Leser Kommentare zu diesem Artikel für spezielle Ausnahmen, bei denen 32-Bit besser ausführen kann als 64-bit, aber denken Sie daran, dass diese beschränkt, welche Instanztypen ausgeführt werden können.

+1

Diese Antwort und der verknüpfte Artikel sollten wirklich besser sichtbar sein. +1 Upboat für Sie, mein Herr! –

Verwandte Themen