web-dev-qa-db-fra.com

Quand dois-je utiliser un t2.medium par rapport à un type d'instance m3.medium dans AWS?

Ils semblent être à peu près les mêmes en termes de performances.

Modèle vCPU Mem (GiB) Stockage SSD (Go) m3.medium 1 3,75 1 x 4

Modèle vCPU CPU Credits/hour Mem (GiB) Storage t2.medium 2 24 4 EBS-Only

t2.medium permet des performances en rafale, contrairement à m3.medium. t2.medium a même plus de vCPU (1 vs 2) et de mémoire (3,75 vs 4) que le m3.medium. Le seul gain de performances est le SSD w/a m3.medium, qui, je le reconnais, pourrait être important si je fais des E/S lourdes.

Serait-ce le seul scénario où je choisirais un m3.medium plutôt qu'un t2.medium?

Je voudrais exécuter un serveur Web qui reçoit 20 à 30 000 visites par mois, donc je pense que l'un ou l'autre convient à mes besoins, mais quelle est la meilleure option?

31
Charles Sounder

30000 visites par mois représentent en moyenne un visiteur toutes les 90 secondes. À moins que votre site ne soit très atypique, la charge sur le serveur est susceptible d'être invisiblement faible. Bursting traitera des pics pouvant atteindre des centaines (ou des milliers, avec quelques optimisations) de visiteurs.

Avec une mise en cache appropriée, un serveur VPS de spécifications comparables à un t2.micro peut servir un Wordpress avec 000 hits PAR MINUTE. Si vous saturiez cela en continu, vous ne pouvait pas compter sur les performances en rafale pour le t2.micro, bien sûr. n t2.medium est à peu près 4x plus puissant à tous égards comme un micro, et un m3.medium a similaire RAM et bande passante mais moins de CPU de pointe.

Le stockage d'instance sera quelques fois plus rapide qu'un grand volume EBS GP2 (SSD) sur le m3.medium, bien sûr. Les instances moyennes t2 et c3 auront toutes deux une bande passante réseau d'environ 300-400 Mbit/s, t2.micro obtient ~ 60-70 Mbit. ne référence montre que le t2.medium en mode éclatement bat réellement un c3.large (sans parler du m3.medium, qui est moins de la moitié de sa puissance, à 3 ECU = vs 7).

Mais comme indiqué, vous pouvez probablement économiser de l'argent en utilisant quelque chose de moins puissant que l'une ou l'autre de vos suggestions tout en conservant d'excellentes performances.

Si vous n'avez pas besoin de la puissance pour configurer complètement votre serveur, l'hébergement partagé ou une solution de plate-forme en tant que service sera plus facile . Je recommande OpenShift, car ils suggèrent explicitement un seul petit équipement pour jusqu'à 50 000 hits par mois. Vous en obtenez 3 gratuitement.

Si vous devez configurer le serveur, vous n'avez vraiment besoin que de suffisamment de mémoire pour exécuter votre serveur et/ou votre base de données. Un t2.nano a 512 Mo et un t2.micro a 1 Go. Les véritables goulots d'étranglement des performances seront probablement les E/S disque et la bande passante réseau. Le premier peut être amélioré avec un plus grand volume SSD à usage général (plus d'IOPS), le second en utilisant plusieurs instances et un ELB.

Assurez-vous d'héberger tous les actifs statiques dans S3 et d'utiliser correctement la mise en cache, et même les petites instances AWS peuvent gérer des centaines de demandes par seconde.

Fondamentalement: "ne vous inquiétez pas, utilisez la chose la moins chère et la plus simple qui l'exécutera."

45
BobMcGee

Bien que les spécifications "matérielles" semblent similaires pour l'instance T2.medium et l'instance M3.medium, la différence est lorsque vous considérez Burstable vs Fixed Performance. Voir ce lien d'Amazon Web Services:

http://aws.Amazon.com/ec2/faqs/#burst

La citation suivante provient de ce lien:

Q: Quand dois-je choisir une instance de performances Burstable, telle que T2?

Les charges de travail idéales pour les instances de performances éclatées (par exemple, les serveurs Web, les environnements de développement et les petites bases de données) n'utilisent pas le processeur complet souvent ou de manière cohérente, mais ont parfois besoin d'éclater. Si votre application nécessite des performances élevées et élevées du processeur, nous recommandons nos instances de performances fixes, telles que M3, C3 et R3.

Une instance T2 accumule des crédits CPU, mais uniquement tant qu'elle s'exécute. S'il est arrêté ou résilié, les crédits accumulés disparaissent.

Il y a une information importante plus bas sur la page concernant les crédits CPU pour les instances T2:

Q: Qu'arrive-t-il aux performances du processeur si mon instance T2 manque de crédits (le solde de crédits du processeur est proche de zéro)?

Si votre instance T2 a un solde de crédits CPU nul, les performances resteront aux performances CPU de base. Par exemple, le t2.micro fournit des performances CPU de base de 10% d'un cœur CPU physique. Si le solde de crédits CPU de votre instance approche de zéro, les performances CPU seront réduites aux performances de base sur un intervalle de 15 minutes.

Cela signifie que si vous manquez de crédits éclatables, vos performances seront limitées à un pourcentage fixe d'un seul cœur jusqu'à ce que vous en accumuliez plus; 10% pour T2.micro, 20% pour T2.small et 40% pour T2.medium.

Une autre différence importante que l'OP mentionne est que l'instance M3.medium peut être provisionnée avec 4 Go de stockage éphémère, qui a une capacité d'E/S beaucoup plus grande que le stockage Elastic Block Storage (EBS) persistant. Les instances T2 n'ont pas cette option.

Enfin, cela dépend de ce qu'est un "hit". À mon avis, si un hit signifie quelques téléchargements de pages statiques de moins de 64 Ko ou de petites pages dynamiques, j'explorerais alors l'option T2. Pour des sessions plus longues, plus de trafic de données ou un nombre plus élevé d'utilisateurs simultanés, je considérerais le M3. Et si la performance sur une longue période est un problème clé, je pense que vous êtes définitivement en M3.

Consultez les journaux de votre site actuel ou d'un site similaire à celui que vous configurez et déterminez la situation dans laquelle vous vous trouvez.

18
Jesuisme

Analysez votre application sur les deux et déterminez la solution qui vous convient. C'est la seule façon de savoir avec certitude. La "meilleure option" dépend de la façon dont votre application s'exécute et de vos exigences en matière de coûts.

Alternativement, vous pouvez simplement en choisir un, en fonction du coût ou d'autres critères, et s'il est insuffisant ou trop suffisant, puis changer le type d'instance pour l'autre.

1
Matt Houser