Amazon EC2 – Quel serveur Ubuntu choisir: 32 bits ou 64 bits?

Je suis en train de sélectionner une AMI pour mon site Web sur le réseau Amazon EC2. Il semble que les instances d’Ubuntu soient de type 32 ou 64 bits. Vraisemblablement, les systèmes 64 bits vous offrent plus d’espace d’adressage mémoire, ce qui est bien. Cependant, je me demande si c’est un problème de trouver des binarys pré-compilés. Est-ce que je ferais mieux de coller avec 32 bits? Mon application Web n’est pas très gourmande en mémoire.

Pourquoi devrais-je choisir l’un sur l’autre et quels sont les avantages et les inconvénients?

Vous devez prendre votre décision en fonction de la taille des serveurs que vous souhaitez.

Les AMI 32 bits ne s’exécutent que sur m1.small , tandis que les AMI 64 bits s’exécutent uniquement sur les instances m1.large et m1.xlarge (plus les variantes High CPU respectives).

Les grandes instances coûtent évidemment plus cher, le prix étant théoriquement proportionnel à la performance. Cependant, j’ai constaté que les grandes instances et les xlarge ont un peu plus de performance / dollar que les petites instances.

Plutôt que d’être dû à une architecture 32 ou 64 bits, cela semble être dû à un conflit sur les contrôleurs d’E / S. Si vous travaillez sérieusement sur EC2, je vous recommande d’ m1.large instances m1.large et les AMI 64 bits que cela implique.

Un problème qui s’est glissé dans mon équipe lors d’un déploiement 64 bits était le fait que les pointeurs sur une machine 64 bits étaient plus gros, donc nous avons manqué de mémoire plus rapidement que prévu.
Pas une réponse, je sais, juste un heads-up.

À compter du 8 mars 2012, Amazon EC2 prend en charge les AMI 64 bits sur tous les types d’instance.

Cela rend obsolètes les réponses précédentes dans cette liste, car elles supposent que différents types d’instances nécessitent des choix d’architecture différents.

Je recommande de toujours utiliser les AMI 64 bits afin de pouvoir modifier le type d’instance d’une instance de la manière la plus flexible possible et vos AMI personnalisées créées à partir de l’instance fonctionneront sur tous les autres types d’instance.

J’ai plus écrit à ce sujet ici: http://alestic.com/2012/03/ec2-64-bit

Il existe de bons points de discussion dans les commentaires des lecteurs sur cet article pour les exceptions spécialisées où le 32 bits peut être plus performant que le 64 bits, mais rappelez-vous que cela restreint les types d’instances sur lesquels vous pouvez exécuter.

Si le coût est prioritaire, optez pour 32bit. Si la performance est importante, optez pour 64 bits.

Les bases sont déjà répondues. Je voudrais juste souligner que les micro-instances relativement nouvelles prennent en charge à la fois 32 et 64 bits. Cela ne s’applique pas (encore) aux petites instances .

Con: comme le dit RKitson, les pointeurs 64 bits prennent deux fois plus d’espace mémoire. Cela peut coûter des performances si cela signifie que votre matériel ne rentre plus dans le cache du processeur maintenant.

Pro: vous obtenez deux fois plus de registres – les programmes qui en bénéficient montreront une amélioration considérable des performances. (et un deuxième pro: les versions 64 bits des packages sont toutes compilées avec le support SSE … cela pourrait également améliorer les performances, en fonction de votre charge de travail)

Je voudrais juste construire les deux images et les comparer, ce qui est plus facile que de théoriser, et ne devrait pas non plus coûter des jours.

Je dirais aller avec 32 bits sauf si vous avez vraiment besoin de 64 bits pour des raisons de performance. Vous pouvez exécuter Ubuntu 32 bits sur une instance m1.small au coût de 10c / heure d’instance, soit environ 75 $ / mois; en revanche, l’option la moins chère pour le 64 bits est m1.large, qui coûte quatre fois plus cher – 40c / heure d’instance ou environ 300 $ / mois.

64 bits vous offre plus d’espace d’adressage mémoire et peut être plus performant avec des tâches gourmandes en processeur. Trouver des fichiers binarys ne devrait pas être un problème en supposant que vous utilisez un logiciel standard comme PHP et Mysql. J’irais avec 64 bits à moins que vous ayez quelques bibliothèques rares qui ne peuvent pas fonctionner sous 64 bits.