现在有几台做了读写分离的MongoDB服务器,在配置副本节点的时候注意到一个参数replWriterThreadCount(用于并行应用复制操作的最大线程数)
。
这里面有个细节不是很明白,假设在机器是8核
的情况下,mongo默认配置replWriterThreadCount
的是16
,那么其实现的时候会按照CPU最大的核数还是会按照配置的线程数进行opLog重放?
现在有几台做了读写分离的MongoDB服务器,在配置副本节点的时候注意到一个参数replWriterThreadCount(用于并行应用复制操作的最大线程数)
。
这里面有个细节不是很明白,假设在机器是8核
的情况下,mongo默认配置replWriterThreadCount
的是16
,那么其实现的时候会按照CPU最大的核数还是会按照配置的线程数进行opLog重放?
6 回答3.4k 阅读✓ 已解决
8 回答3.7k 阅读
2 回答2.7k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1k 阅读
4 回答2k 阅读
最终还是找来源代码,找到了答案。
源代码链接
具体细节,在最后一段:
解释一下就是
replWriterThreadCount
与2倍的CPU核心数
(IO密集型线程池预设大小)取最小值。