Paramiko stdout.readlines() is too slow



我在Python和Django代码中使用Paramiko来执行命令。这是我的代码:

client = SSHClient()
client.set_missing_host_key_policy(AutoAddPolicy())
client.connect(<host>, username=<username>, password=<password>)

stdin, stdout, stderr =
client.exec_command("curl -X POST http://127.0.0.1:8080/predictions -T image.jpg")
lines = stdout.readlines()

对于每个命令,stdout.readlines()的执行时间为0.59s。对于我接近实时的系统来说,这是不可接受的时间。有人能为加快阅读速度提出建议吗?

SSHClient.exec_command仅启动命令。它不等待命令完成。readlines就是这么做的。因此readlines所花费的时间与命令所花费的一样长。


强制性警告:不要使用AutoAddPolicy–这样做会失去对MITM攻击的保护。有关正确的解决方案,请参阅Paramiko"未知服务器">

相关内容

最新更新