Параллельная загрузка файлов в python/bash
Как лучше организовать параллельную загрузку очень больших файлов (50-1000гб) файлов из разных источников в python3 и стоит ли делать так вообще? Изначально предполагалось использовать wget (с опцией -с) через python subprocess, но скорость загрузки файлов очень разная, есть которые загружаются быстро, с ними все ок, а есть те которые загружаются крайне медленно, что по видимому не связано со скоростью моего интернета, а связано со скоростью раздачи. Очень не хочется ждать пока все эти медленно загружаемые файлы будут скачиваться последовательно, поэтому хорошо бы организовать это параллель. Но боюсь наткнуться на подводные камни, так как не очень понимаю в многопоточности и многоядерности. С одной стороны можно использовать multithreading, но даст ли это прирост скорости загрузки разных файлов? Не упрусь ли я в ограничение на скорость записи файлов в своей системе? Или может лучше multiprocessing? Тут вообще не знаю чего ожидать можно, может лучше будет, а может и нет... В общем как это лучше организовать?