我希望使用C#驱动程序将数据从MongoDB传输到SQL Sever。三个集合中的数据大小约为20,000,000。我使用3个线程读取它和3个线程插入到3个不同的SQL Server表中。
在读取大约70,000,000个文档之后,性能变得更差,速度大约是以前的十分之一,并且网络带宽下降。
如何防止性能下降?
发布于 2012-03-21 09:50:16
尝试在单个线程上按顺序迁移每个集合。该操作将是IO绑定的,而不是CPU绑定的,因此以多线程方式运行它更有可能降低性能,并增加数据库中的资源争用和上下文切换。
另请查看您的SQL Server数据库磁盘写入。可能是正在使用硬盘缓存,但随后写入速度变慢,因为缓存被刷新到磁盘。
https://stackoverflow.com/questions/9797508
复制相似问题