MongoDB多线程读取集合和单线程效率一样?

要读取MongoDB中的50W条数据,因为数据太多决定分批读取每次读取10000条,每次读取时间大概需要2s,循环50次大概是用50*2=100s;
由于化肥时间太长决定使用多线程,程序中并发了10个线程去查询,
本来以为值需要2*50/10=10s钟就可以完成,结果发现最终总时间还是用了100s

郁闷。。。。
查看日志的时候发现第一个线程用可2s,然后后面的4s 5s 8s 。。。。100s逐渐增多。
现象看来是线程读取出现了等待,mongo读取难道也是阻塞的吗,求大神指导

2个回答

你的线程中是否使用了同步、加锁,访问了共享的资源,或者你的cpu只有1个?

mongodb有连接池,你一个进程的多个线程可以共享一个pool。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问