Форкинг процессов для параллельной загрузки файлов - PullRequest
0 голосов
/ 04 мая 2020

Мне нужно ежедневно скачивать ~ 10 000 файлов с сайта, где размер каждого файла варьируется от 50 КБ до 150 КБ

Я планирую использовать простой диспетчер процессов, который разветвляет X-количество процессов для загрузки чанков параллельно: файлы 1–1000 одним процессом, файлы 1001–2000 следующим процессом, файлы 2001–3000 следующим процессом и т. д.

Опять же, все они будут работать параллельно, и это будет быть на экземпляре Amazon EC2.

Есть общее правило, которое я использую, чтобы определить, сколько процессов порождать, чтобы весь процесс (все файлы 10k) загружался в кратчайшие сроки?

Я предполагаю, что «больше процессов» не лучше, поскольку в какой-то момент пропускная способность будет перегружена.

В идеале я хотел бы сохранить это на одном экземпляре EC2, но я открыт для использования большего количества, если вы чувствуете это оптимальное решение.

Какой самый лучший способ узнать оптимальное количество?

Спасибо!

Примечание: номер не фиксирован в 10k. Это только один партнерский сайт. У нас есть другие партнерские сайты, где нам может понадобиться, скажем, 50 000 файлов или более, поэтому я бы хотел, чтобы решение было достаточно общим c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...