mongodb 如何记录给定时间的查询数量

daa*_*atz 3 mongodb

目前我正在优化我工作的项目中的API。项目使用mongodb数据库。

我想检查给定时间内数据库上有多少查询。

例如,如果我在 11.00 将启动一些 API 调用,该调用将查询大量数据库,我想看看在这个 11.00 有多少查询(当然,当应用程序除了这个 api 调用之外没有执行任何操作时,在本地)。

谢谢

Ser*_*kiy 5

启用数据库分析并设置分析级别(2 将分析所有数据库操作,包括索引)。例如

db.setProfilingLevel(2)
Run Code Online (Sandbox Code Playgroud)

数据库配置文件将记录到 system.profile 集合中。您可以查询该集合以获取所需的数据。例如,以下查询将返回自 10 月 30 日上午 11:00 以来的数据库查询总数:

db.system.profile.find({ts : {$gt: ISODate('2013-10-30T11:00:00Z')}}).count()
Run Code Online (Sandbox Code Playgroud)

您可以按集合过滤结果:

db.system.profile.find({ ns: 'database.collectionName', 
                         ts : {$gt: ISODate('2013-10-30T11:00:00Z')}}).count()
Run Code Online (Sandbox Code Playgroud)