本人使用Task类,用多线程的方式获取共享文件夹500多万文件的sha1值时发现,网络带宽占用了100M之多。
线程数达到了500多个,获取SHA1的速度也越来越慢,每个文件从最开始的100ms到最后的1分多钟(还没跑完),
问一下各位高手怎么样能解决这个问题。
每个文件的大小从5M到50M不等。
读取SHA1值的方式是.net提供的 System.Security.Cryptography.SHA1CryptoServiceProvider 类。
线程数达到了500多个,获取SHA1的速度也越来越慢,每个文件从最开始的100ms到最后的1分多钟(还没跑完),
问一下各位高手怎么样能解决这个问题。
每个文件的大小从5M到50M不等。
读取SHA1值的方式是.net提供的 System.Security.Cryptography.SHA1CryptoServiceProvider 类。
解决方案
10
意思就是这条路本来是10车道的,你一次过10辆车不会堵,但是一次过100辆速度反而会下降
10
你这个工作几年做一次?
为什么不能每天花几分钟做一小部分,而非要集中在一次做完?
为什么不能每天花几分钟做一小部分,而非要集中在一次做完?
10
网络带宽占去100M?你那500w文件放在局域网的计算机上吗?
要是单线程的,能让单个文件处理加快,能保证执行完,但整体时间长;多线程,不一定能执行完,所以本人说,根本上,需要提高配置
lz可以考虑分布式处理
要是单线程的,能让单个文件处理加快,能保证执行完,但整体时间长;多线程,不一定能执行完,所以本人说,根本上,需要提高配置
lz可以考虑分布式处理