改变mongoimport时间

时间:2011-08-09 20:25:59

标签: mongodb import sharding

我对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开始,就会这样。

有关为何发生这种情况的任何想法?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

第一个问题,您可以在每台计算机的导入过程中运行mongostatiostat吗?

当你进行导入时,你可能会对IO征税,所以我们希望看到一些IO号。

第二个问题,你拥有这些机器还是“租用”(虚拟机,云盒?)

如果您正在运行VM,则可能无法获得一致的IO。回答第一个问题会告诉您这是否相关。