我对mongoimport有疑问。这是我的配置:
5台物理机器。 5个碎片,3个配置,5个mongos。每台机器有1个碎片和mongos,3个(5个)中有一个配置。
我有几百个JSON格式的文本文件,我正在使用mongoimport。我在每个mongos上发出一个mongoimport(因此,每次5个),直到每个文件都被导入。我正在监视每个导入的记录/秒以及每台机器的cpu / mem使用情况。每台机器的cpu / mem没有显着差异。
然而,每个mongoimport过程的记录/秒速度从4k到16k不等。这似乎与在给定分片上分配新数据文件无关。但是,它似乎与导入的文件本身更相关(尽管每个文件在模式中非常相似,但文件之间的唯一区别是记录数,而我描述的问题出现在不同的#ofRecord文件中)。例如,如果一个文件以10k rec / sec的速度开始导入,它似乎在整个导入过程中以这种速度继续,如果它从4k开始,就会这样。
有关为何发生这种情况的任何想法?我该如何解决这个问题?
答案 0 :(得分:0)
第一个问题,您可以在每台计算机的导入过程中运行mongostat
和iostat
吗?
当你进行导入时,你可能会对IO征税,所以我们希望看到一些IO号。
第二个问题,你拥有这些机器还是“租用”(虚拟机,云盒?)
如果您正在运行VM,则可能无法获得一致的IO。回答第一个问题会告诉您这是否相关。