相关疑难解决方法(0)

将"工作集"安装到MongoDB的RAM中意味着什么?

MongoDB很快,但只有当你的工作集或索引适合RAM时.因此,如果我的服务器有16G的RAM,这是否意味着我所有收藏的大小需要小于或等于16G?如何说"好吧这是我的工作集,其余的可以"存档?"

mongodb

62
推荐指数
2
解决办法
2万
查看次数

MongoDB - 重新启动服务器后的不同查询执行时间

假设我启动了一个mongo数据库服务器:

mongo --dbpath=/some/path --port=12345 --storageEngine wiredTiger

然后我运行相同的查询10次(忽略第一个,以便它们都在暖缓存上),如下所示:

mongo query1.js

我得到的时间是(通过timemongodb记录器验证):

8137ms 8145ms 8193ms 8091ms 8152ms 8110ms 8182ms 8142ms 8133ms 8098ms

很棒 - 相当一致.所有都在彼此约100毫秒内,这是有道理的.

然后,我以下列任何一种方式关闭服务器:

pkill mongod mongod --dbpath=/some/path --shutdown mongo shutdown.js

其中shutdown.js包括:

db.getSiblingDB('admin').shutdownServer();

然后我使用完全相同的命令重新启动它,我得到以下时间:

8531ms 8492ms 8613ms 8555ms 8538ms 8512ms 8551ms 8511ms 8608ms 8522ms

同样,它们始终在~100ms内,但它们都处于不同的基线.

如果我这样做一次,它可能是周围8.3,8.6,8.9,或在真正之间的任何地方.没有其他用户进程打开(除了那些需要ssh进入机器).

我按如下方式进行了一项实验:

while True: run the query 25 times and record the minimum such runtime shutdown the server and restart it, …

profiling mongodb

16
推荐指数
1
解决办法
689
查看次数

MongoDB 缓存或不使用 Redis 缓存

在我的项目中,主数据库是 mongodb,为了缓存,我有 redis。现在,对于长且更复杂的查询,我使用 redis 来缓存它们显然更好。

但我想知道是否应该缓存简单的查询,例如按 id 查找,或按其他 mongodb 索引字段查找?使用 redis 进行这种索引查找有意义吗?

或者我应该不缓存这种查询,因为 mongodb 内部已经有很好的缓存机制?

查找 mongodb 索引字段更快还是查找 redis 更快?

caching mongodb redis mongodb-query spring-data-redis

3
推荐指数
1
解决办法
4693
查看次数