2013-05-27 9 views
1

J'ai un système d'alimentation en utilisant fan-out sur l'écriture. Je garde une liste d'identifiants de flux dans redis ensemble, et enregistrer le contenu du flux dans mongodb, donc chaque fois que je lis 30 flux, je dois faire 30 requête à mongodb, y at-il de toute façon pour l'améliorer?Comment améliorer la performance du système d'alimentation en utilisant mongodb

+0

ce qui est un "fan-out"? – Sammaye

+0

pourquoi avez-vous besoin de lire 30 flux si vous faites de la fanout? –

Répondre

1

Cela dépend de votre configuration de base de données. MongoDB possède une vaste documentation sur la façon d'augmenter lecture simultanée et écrire MongoDb conncurrency

  1. Si vous avez besoin tant écrit dans la base de données avec moins de latence commence à utiliser sharding Deployment Sharding.

  2. Si vous avez besoin d'augmenter le nombre de lectures dans la base de données déployer chaque tessons comme jeu de réplicas et Rout votre requête de lecture dans le noeud secondaire Read Prefences

  3. De plus, chaque requête doit couvert par index Better indexing, vous pouvez vérifier votre requête temps en ajoutant simplement expliquer après une trouvaille il vous montrera le temps et tous les faits

    db.collection.find({a:"abcd"}).explain() 
    
  4. Assurez-vous d'avoir suffisamment de RAM pour que votre ensemble de données correspond à la RAM atleast votre index doit correspondre à l'intérieur du bélier coz chaque fois une extraction de données ed à partir du disque est 10 fois plus lent que la RAM.

  5. Vérifiez votre statut de serveur en exécutant MongoStat il mesurera les performances de votre base de données, les erreurs de page, les verrouillages, les requêtes et les détails.

  6. mesurent également les performances de votre matériel avec programme comme iostat et font attendre que io est faible et moins de 1%. Peu de bons liens vers le déploiement de mongodb et l'optimisation des performances.

    1. Production deployment of mongodb

    2. Performance tuning of mongodb By 10gen

    3. Using redis before mongodb to cache query and result object

    4. Example of redis and mongo

Questions connexes