2

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

我想检查一些从给定时间起数据库上有多少查询。

例如,如果我在 11.00 开始一些 API 调用,它将查询很多数据库,我想看看在这个 11.00 有多少查询(当然,当应用程序除了这个 api 调用之外没有做任何事情时在本地)。

谢谢

4

1 回答 1

4

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

db.setProfilingLevel(2)

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

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

您可以按集合过滤结果:

db.system.profile.find({ ns: 'database.collectionName', 
                         ts : {$gt: ISODate('2013-10-30T11:00:00Z')}}).count()
于 2013-10-30T10:09:19.843 回答