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