gpt4 book ai didi

mongodb - MongoDB是否以某种方式仅限于单核?

转载 作者:IT老高 更新时间:2023-10-28 13:04:05 25 4
gpt4 key购买 nike

也许我以某种方式错误配置了 MongoDB,但即使在重负载下,我也没有看到它使用多个内核。例如,top 当前显示:

Tasks: 145 total,   1 running, 144 sleeping,   0 stopped,   0 zombie
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 41182768k total, 40987476k used, 195292k free, 109956k buffers
Swap: 2097144k total, 1740288k used, 356856k free, 28437928k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16297 mongod 15 0 521g 18g 18g S 99.8 47.2 2929:32 mongod
1 root 15 0 10372 256 224 S 0.0 0.0 0:03.39 init

我可以做些什么来让 Mongo 更有效地使用其他内核?如果相关,我目前正在运行一个大型 M/R,这似乎已将许多读取查询置于“等待”模式。

最佳答案

MongoDB 可以使多核机器上的所有核心饱和以进行读取操作,但对于写入操作和 map-reduce,MongoDB 只能使用每个 mongod 进程的单个核心。

单核 MapReduce 的限制是由于 MongoDB 使用的 Javascript 解释器。这是应该在未来解决的问题,但在此期间,您可以使用 Hadoop 执行 MapReduce 并将结果集存储在您的 MongoDB 数据库中。

另一个结果好坏参半的选项是为实例上的每个核心运行一个 mongod 进程,这不会提高单个数据库的性能,除非它们被配置为在分片设置中运行。

关于mongodb - MongoDB是否以某种方式仅限于单核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com