mongoimport:如何监控执行时间?

时间:2014-07-20 20:08:25

标签: mongodb ubuntu mongoimport

我在Ubuntu 14.04上运行MongoDB。

我已成功将CSV中的数据导入MongoDB,但我希望能够读取操作的总执行时间。

我一直在使用.explain()命令监视在mongodb.exe本身内执行的查询CRUD操作,但这显然不会对从bin级别执行的导入过程起作用。< / p>

请问任何人都可以建议我如何轻松获得导入的性能读数? (我有一个演员,无法找到合适的指导)。

我用于导入的代码是:

 jon@ubuntu:~/Desktop/mongodb-linux-x86_64-2.6.3/bin$ mongoimport --db jontestcsv --collection Aircraft --ignoreBlanks --type csv --headerline --file /home/jon/Desktop/Aircraft.csv

非常感谢任何指导。

此致 乔恩

1 个答案:

答案 0 :(得分:0)

使用time实用程序

如果您刚好在脚本的执行时间之后,可以在mongoimport命令行前加上标准的Unix-ish实用程序time,例如:

time mongoimport --db jontestcsv --collection Aircraft --ignoreBlanks --type csv --headerline --file /home/jon/Desktop/Aircraft.csv
  

时间使用任何给定参数ARG运行程序COMMAND。什么时候          COMMAND完成,时间显示有关所用资源的信息          COMMAND(默认情况下,在标准错误输出上)。如果COMMAND退出          如果状态为非零,则时间显示警告消息和退出          状态。

Grep mongod日志

如果您确定mongod作业的连接ID,那么您还可以通过mongoimport日志获取更多信息。例如,在下面的日志片段中,您可以计算从接受的localhost连接到#27之间的时间差,并通过grepping 127.0.0.1:64023来结束:

2014-07-21T06:20:59.143+1000 [initandlisten] connection accepted from 127.0.0.1:64023 #27 (2 connections now open)
2014-07-21T06:20:59.180+1000 [conn27] build index on: test.twitter properties: { v: 1, key: { _id: 1 }, name: "_id_", ns: "test.twitter" }
2014-07-21T06:20:59.182+1000 [conn27]    added index to empty collection
2014-07-21T06:21:05.705+1000 [FileAllocator] allocating new datafile /data/test.1, filling with zeroes...
2014-07-21T06:21:05.709+1000 [FileAllocator] creating directory /data/_tmp
2014-07-21T06:21:06.337+1000 [FileAllocator] done allocating datafile data/test.1, size: 128MB,  took 0.618 secs
2014-07-21T06:21:06.343+1000 [conn27] insert test.twitter ninserted:1 keyUpdates:0 numYields:0 locks(micros) w:663227 663ms
2014-07-21T06:21:11.924+1000 [conn27] end connection 127.0.0.1:64023 (1 connection now open)