如何确定将大量文件复制到外部共享文件夹的理想并行Java线程数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何确定将大量文件复制到外部共享文件夹的理想并行Java线程数?相关的知识,希望对你有一定的参考价值。
将大量文件从四核linux盒复制到外部共享文件夹的并行java线程的理想数量应该是多少?我可以看到,使用单个线程,需要花费大量时间来逐个移动文件。多个线程正在提高复制性能,但我不知道确切的线程数应该是多少。
我正在使用Java executor服务来创建线程池。
答案
绝对你应该通过测试来解决这个问题。正如德米特里指出的那样,涉及到很多因素。实际上,CPU几乎肯定不是基于IO和网络的操作的瓶颈。在线程太多之前,您可能会发现事情平稳并且开始变得更糟,但如果您想最小化测试,请使用一些结果的图表来插入对理想值的良好猜测。
为了更好地了解正在使用的内容,请使用度量工具来衡量资源的利用率 - 在这种情况下应包括网络接口流量和磁盘队列长度。
另一答案
只需尝试不同的变体并衡量性能。硬盘和网络速度也存在这样的瓶颈,所以我猜没有明确的答案。
以上是关于如何确定将大量文件复制到外部共享文件夹的理想并行Java线程数?的主要内容,如果未能解决你的问题,请参考以下文章