Les performances sont une considération importante lors du déploiement de MongoDB sur AWS. D'un point de vue matériel, les performances de MongoDB sur EC2 dépendent principalement de deux facteurs :la RAM et la vitesse du disque. En règle générale (il y a toujours des exceptions), le processeur ne devrait pas être un problème, ni la mémoire, car il existe de nombreuses options de taille disponibles (R3, I2, C3/C4) qui offrent une grande quantité de RAM. Pour plus de détails sur la manière de choisir le bon type d'instance, consultez mon autre article de blog : Comment choisir le bon type d'instance EC2
Historiquement, la vitesse et la latence du disque ont été un problème constant sur Amazon EBS. Cependant, Amazon Web Services offre désormais quelques options pour vous aider à améliorer les performances du disque :
-
Disques IOPS provisionnés
Dans le modèle IOPS provisionné, vous pouvez spécifier au moment de la création du disque le nombre d'IOPS que vous souhaitez que votre disque prenne en charge. Plus vous provisionnez d'IOPS, plus votre disque pourra gérer de débit. Vous pouvez aller jusqu'à 4000 IOPS/disque ! Cependant, les IOPS peuvent coûter cher à 0,065 $ par mois d'IOPS. Par exemple, si vous provisionnez 4 000 IOPS pour le disque, cela vous coûtera 260 $/mois pour les seuls IOPS. Cela peut s'additionner rapidement si vous avez plusieurs serveurs.
-
SSD local
Il s'agit de la meilleure option pour les performances de disque sur Amazon AWS. Les disques SSD locaux offrent le meilleur comportement de débit et de latence de toutes les options de disque AWS. Cependant, ils sont appelés « locaux » pour une raison. Si, pour une raison quelconque, votre machine virtuelle (VM) est arrêtée, le stockage local alloué est libéré. Ainsi, le fardeau de la fiabilité des données repose entièrement sur l'utilisateur. Pourriez-vous déployer deux magasins de données SSD locaux dans deux zones de disponibilité (AZ) différentes et l'appeler résolu ? Pas assez. Si AWS a une panne à l'échelle régionale comme ce fut le cas dans l'Est des États-Unis quelques années auparavant, vous devez vous attendre à perdre vos SSD locaux dans toutes vos AZ. Pour ces raisons, les instances SSD locales ne doivent pas être utilisées comme magasin de données principal pour vos données.
MongoDB hautes performances :ensemble de répliques à 3 nœuds
Grâce à ces problèmes, nous introduisons notre configuration MongoDB hautes performances sur AWS. Les clusters hautes performances utilisent un hybride de SSD local et de disque IOPS provisionné EBS pour obtenir à la fois des performances élevées et une grande fiabilité. Une configuration typique est déployée à l'aide d'un jeu de répliques à 3 nœuds.
- Le primaire et le secondaire 1 utilisent des disques SSD locaux
- Secondaire 2 utilise les IOPS provisionnées par EBS
Ensemble de réplicas MongoDB à 3 nœuds hautes performances
Qu'est-ce que cela signifie ? Étant donné que le primaire et le secondaire 1 s'exécutent sur un SSD local, vous obtenez les meilleures performances de disque possibles de vos machines AWS. Plus d'EBS basé sur le réseau, juste un SSD local ultra rapide. Les lectures et écritures sur votre primaire et même les lectures du secondaire 1 fonctionneront à la vitesse du SSD. Secondaire 2 utilise les IOPS provisionnées par EBS pour le disque de données et vous pouvez configurer la quantité d'IOPS à configurer pour votre cluster. Cette configuration offre une sécurité totale pour vos données, même dans le cas où vous utilisez les disques SSD locaux. Nous proposons actuellement quatre tailles :Large, XLarge, X2XLarge, X4XLarge. Pour plus de détails, reportez-vous aux sections Bring Your Own Cloud (BYOC) et Clusters dédiés sur notre page de tarification.
Si vous avez une charge de travail d'écriture très élevée, il est possible que votre instance EBS ne soit pas en mesure de suivre le rythme de vos instances SSD. Dans ce scénario, quelques options sont disponibles et notre équipe d'assistance se fera un plaisir de vous les présenter. Toutes nos fonctionnalités existantes, y compris les sauvegardes, les restaurations, les clones, la mise à l'échelle, le compactage, etc. continuent de fonctionner comme d'habitude. Si vous avez d'autres questions, veuillez nous contacter à [email protected].