Как и в случае с любым подобным вопросом, зависит от того, является ли то, что вы делаете, «наилучшей практикой». Ваши запросы на сбор данных — не единственный компонент, который следует учитывать для повышения производительности. Другими факторами, которые следует учитывать, являются:
- как намекали другие - ваше оборудование (пункт назначения, источник, промежуточная сеть и т. д.)
- ваши данные (общий размер, глубина, ширина)
- ваше расписание (это единственное, что работает? Это должно быть сделано в течение заданного окна? и т. д.)
Например, если целевое или исходное или сетевое оборудование интенсивно используется другими, вы можете вообще не использовать потоки, чтобы свести к минимуму объем одновременного использования. И наоборот, если оборудование выделено для запланированных пакетных операций, то вы, вероятно, захотите разделить перемещение данных на потоки и использовать как можно больше оборудования, чтобы сократить общее время, затрачиваемое на выполнение этой задачи.
Не имея возможности узнать всю эту информацию и принять наилучшее решение, вы МОЖЕТЕ также просто попытаться постепенно увеличить количество потоков. Во-первых, оцените, что означают «быстро» и «медленно» для вашей среды. Когда вы запускаете только один поток, какова скорость передачи (если вы еще не знаете этого, зная аппаратное обеспечение). Затем добавьте еще один поток, переоцените скорость передачи. Затем еще один и так далее до тех пор, пока вы не увидите уменьшение общего времени перемещения данных. Увеличивайте до тех пор, пока не будете знать, что используете оптимальное количество потоков... для вашего оборудования, в вашей сети, в соответствии с вашим графиком для ваших данных.
Здесь вы не получите однозначного ответа (или, по крайней мере, не должны :) ) о том, что для вас «лучше». Слишком много, чтобы поделиться и рассмотреть.
person
jamie
schedule
19.08.2019