2010-06-05 6 views
2

Nous développons actuellement une application de rails de trafic élevé avec facebooker (jeu facebook). étant donné que amazon simpledb (aws-sdb) est vraiment lent, nous pensons utiliser un serveur mongodb dédié tel que proposé par mongoHQ par exemple.mongodb lecture/écriture performance et hébergement mongo dans le cloud

questions:

  1. quelle est la lecture/écriture valeur maximale pour un serveur MongoDB en cours d'exécution sur une instance amazon EC2?
  2. Quelle serait une configuration recommandée pour une application hébergée ec2 avec mongodb - un maître sur Amazon EBS et des répliques sur les instances ec2? des exemples ou des expériences?
  3. Y a-t-il une entreprise qui propose l'hébergement mongodb dans le cloud?

grâce, mz

Répondre

3

1) Votre Reads/inserts/valeurs mises à jour varient considérablement avec la taille de l'instance EC2 que vous utilisez. Une grande instance EC2 peut effectuer environ 320,000 operations per second. Voici une ventilation de ce « opérations » signifiait en ce sens:

IIRC, il était ~ 20 000 chacun des écritures, supprime, mises à jour, insertions, commandes, & obtenir les mœurs et ~ 200 000 lectures. Je pense que c'était un ensemble de données assez volumineux, mais je vais vérifier avec Eliot demain. - Kristina Chodorow

2) MongoDB est simple et la plupart des cas taraudée EC2 ont 2 ou plusieurs unités centrales. Vous pouvez donc exécuter deux processus sur la même machine. L'auto-partitionnement semble fonctionner correctement dans la version actuelle à utiliser dans un environnement de production, mais les ensembles de réplicas ne le sont pas (ils géreraient la réplication & de basculement automatique). Alors n'hésitez pas à utiliser l'auto-sharding avec des configurations maître-esclave manuelles puis remplacez la configuration maître-esclave en juillet lorsque les jeux de réplica sont en alpha.

3) MongoHQ, MongoMachine les deux offrent MongoDB hébergé.

+0

merci pour la bonne réponse! Donc, fondamentalement pas de réplication signifie que je peux fonctionner sur une seule instance ec2? Je prévoyais de laisser mongodb fonctionner sur beaucoup d'instances et de créer une configuration maître/esclave ... donc maintenant la meilleure façon de procéder serait d'utiliser une grande instance ec2 pour mongodb seulement (avec plus de processus mongo en cours d'exécution et sharding) ou d'hébergement sur mongohq/mongomachine et obtenir les applications ec2 se connecter à distance? Comment fonctionne mongohq/mongomachine? – z3cko

+0

Vous pouvez effectuer des partitions sur plusieurs processus mongod sans problème. Mais pour le moment, les paires de réplicas ne sont pas complètement étoffées, de sorte que vous ne pouvez pas avoir de basculement automatique avec un nombre arbitraire de serveurs. Donc, pour l'instant, vous devez configurer manuellement maître/esclaves pour CHAQUE instance de partition que vous exécutez. Mais vous pouvez partager autant de serveurs que vous le souhaitez. –

3

MongoDB depuis 1.4 peut très facilement saturer un grand nombre de cœurs. Vous n'avez plus besoin de démarrer un mongod par cœur.

+0

donc sur une machine multi-core avec ubuntu 10.04 je peux simplement installer mongodb via des paquets et il fonctionne parfaitement hors de la boîte? ou dois-je utiliser sharding encore? – z3cko

+0

Vous n'avez besoin que d'une partition si vous n'avez plus de RAM et que vous voulez utiliser une autre case. Cependant, je n'ai aucune idée des paquets, j'utilise les tarballs de mongodb.org. – chx