Question

Je traite certains fichiers d'entrée et insérez les enregistrements obtenus comme Documents CouchDB. J'ai remarqué que la vitesse d'insertion diminue en rythme avec augmentation de la taille de la base de données.

Ce que je fais est:

  1. lire les données du fichier d'entrée
  2. traiter les données pour obtenir les documents structurés
  3. Mettez les documents dans un tampon local
  4. Dès que la mémoire tampon comporte 1000 documents, effectuez une insertion en vrac CouchDB
  5. Répéter jusqu'à ce que les données d'entrée ont été entièrement traitées
  6. Ici, vous avez le journal de ma course actuelle:

    2012-03-15 10:15:58,716 - docs= 10000 rate=2282.38 entries/s
    2012-03-15 10:16:46,748 - docs=100000 rate=1822.76 entries/s
    2012-03-15 10:17:47,433 - docs=200000 rate=1592.01 entries/s
    2012-03-15 10:18:48,566 - docs=300000 rate=1358.32 entries/s
    2012-03-15 10:19:54,637 - docs=400000 rate=1572.55 entries/s
    2012-03-15 10:21:01,690 - docs=500000 rate=1560.41 entries/s
    2012-03-15 10:22:09,400 - docs=600000 rate=1556.22 entries/s
    2012-03-15 10:23:16,153 - docs=700000 rate=1550.21 entries/s
    2012-03-15 10:24:30,850 - docs=800000 rate=1393.61 entries/s
    2012-03-15 10:25:46,099 - docs=900000 rate=1336.83 entries/s
    2012-03-15 10:27:09,290 - docs=1000000 rate= 871.37 entries/s
    2012-03-15 10:28:31,745 - docs=1100000 rate=1256.36 entries/s
    2012-03-15 10:29:53,313 - docs=1200000 rate=1140.49 entries/s
    2012-03-15 10:31:29,207 - docs=1300000 rate=1080.79 entries/s
    2012-03-15 10:33:23,917 - docs=1400000 rate= 741.65 entries/s
    2012-03-15 10:35:45,475 - docs=1500000 rate= 567.96 entries/s
    2012-03-15 10:39:04,293 - docs=1600000 rate= 564.01 entries/s
    2012-03-15 10:42:20,160 - docs=1700000 rate= 499.29 entries/s
    2012-03-15 10:46:06,270 - docs=1800000 rate= 505.04 entries/s
    2012-03-15 10:50:24,745 - docs=1900000 rate= 402.14 entries/s
    2012-03-15 10:55:23,800 - docs=2000000 rate= 346.19 entries/s
    2012-03-15 11:02:03,217 - docs=2100000 rate= 274.59 entries/s
    2012-03-15 11:08:21,690 - docs=2200000 rate= 269.57 entries/s
    

    Le "taux" montre le taux d'insertion des derniers documents, Ce que vous pouvez voir, c'est dégrader très vite.

    • est-ce normal?
    • Puis-je faire quelque chose pour garder un taux d'insertion élevé?
    • Avez-vous de l'expérience avec de grandes bases de données Couchdb.
    • Tous les conseils que vous souhaitez partager?
Était-ce utile?

La solution

Les débits d'insertion élevés sont anormaux, causés par tout ce qui a soigneusement dans votre cache de disque.Lorsque votre taille de base de données augmente, vous devrez éventuellement lire des données du disque afin de mettre à jour le BREEE.Il serait préférable de faire fonctionner un test d'insertion plus longtemps, de la graphique, puis de voir que l'énorme poinçon à l'avant est la bizarrerie, pas le taux inférieur mais plus constant qui le suit.

D'autres threads, vous avez posé cette question sur cette question, un autre facteur important est que vous avez utilisé des UUID entièrement aléatoires.Étant donné que CouchDB est basé sur l'arbre B +, l'insertion d'IDS entièrement aléatoires est les pires scénarios possibles pour la mise à jour.COUCHDB est expédié avec un certain nombre d'algorithmes UUID, la valeur par défaut appelée "séquentielle" renvoie des valeurs avec une très faible chance de collisions toujours assez séquentielles pour donner beaucoup mieux performance d'insertion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top