[PYTHON] J'ai mesuré les performances d'un million de documents avec mongoDB

J'ai eu l'opportunité d'utiliser mongoDB dans mon application J'ai mesuré la performance

De la conclusion La base de données sans index est trop lente pour être utile </ b>

L'environnement d'exécution est le suivant

Nom spec
OS Ubuntu18.04
CPU Cœur virtuel 6
Mémoire 24GB
HDD 7200rpm(Équivalent à 100 IOPS)

Voir ci-dessous pour les IOPS https://qiita.com/you21979@github/items/21c125a6359d55e9dec4

INSERT vitesse Vitesse d'insertion, un document ajusté à environ 1 Ko

insert_speed_qiita.png

Insert_one est un par un, insert_many est la vitesse de 1 million d'éléments Le reste est la différence entre indexé et non indexé

Il y avait une grande différence de vitesse dans la méthode d'insertion, Il n'y avait pas de grande différence avec ou sans l'indice

Modifier le nombre d'index

Puisqu'il n'y avait qu'un seul index auparavant Essayez de changer avec 0, 1, 10, 25, 50

insert_many

index_speed_qiita.png

insert_one

index_insert_one_speed_qiita.png

En tant que dogme, plus l'indice est grand, plus il ralentit. À propos, dans ce cas, le nombre maximum d'index était de 61. (Plus d'erreurs)

vitesse FIND Il est temps de terminer la recherche d'un million de documents dans un million de listes En conclusion, aucun indice n'est impossible à mesurer

find_speed_qiita.png

Après tout, c'était une comparaison avec uniquement des index La différence entre les deux est que find_one a un document find renvoie simplement le curseur (itérateur)

Résumé Cette fois, c'était le disque dur, donc le SSD devrait être considérablement plus rapide Dans tous les cas, si vous utilisez DB comme DB s'il est d'environ 1 million, l'index est essentiel S'est avéré être

Recommended Posts