Paramiko использует 100 CPU и скорость снижается, если несколько сценариев Paramiko выполняются одновременно

1

Следующий код отлично работает и загружает 6 ГБ файл в 7 минут. а также 10 таких скриптов, загружающих 10 * 6-60 Гб за 7 минут. мой компьютер поддерживает 16 ядро, и когда я пытаюсь запустить 30 скриптов paramiko python, в то же время загрузка занимает часы и часы, так как ядра полностью задействованы. каждый скрипт paramiko python с использованием 100% CPU. Я использую размер окна paramiko также для хорошего spped. я знаю, что мне нужно использовать time.sleep в моем скрипте python.. но как использовать это, я сделал много раз, используя сон, но не смог предложить, как заставить paramiko использовать меньше процессора. код выглядит следующим образом:

#!/usr/bin/env python
import sys, paramiko
hostname = 'x.x.85.y8'
password = 'XXXX1234'
source = r'/root/1/kerneljobs/28.tar'
dest = r"/root/1/kerneljobs/destuny.tar"
username = "root"
port = 22
try:
    t = paramiko.Transport((hostname, port))
    t.connect(username=username, password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    sftp.get(source, dest)
finally:
    t.close()
Теги:
paramiko

1 ответ

0

Нет смысла открывать

  • более 3-4 соединений, если сетевая латентность является узким местом или
  • больше подключений, чем процессорные ядра, если процессор является узким местом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню