微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python subprocess aws copy - 最大化网络带宽

如何解决Python subprocess aws copy - 最大化网络带宽

一个据称提供 >1Gbps 吞吐量的盒子上运行 python 3.4.2,我在一个内容循环中有以下代码,这些代码基本上从 s3 下载到 stdin 并通过 stdout 管道到另一个 s3 存储桶:

from_command = "aws --endpoint-url {0}  s3 cp {1} - --profile={2}".format(endpoint_url,cLeversafe_url.replace("cLeversafe","s3"),from_profile)
to_command = "aws s3 cp - {0}/{1} --expected-size={2} --profile={3}".format(s3_bucket,filename,content_size,to_profile)
#args are just breaking up to_command:                                
args = ['aws','s3','cp','-','{0}/{1}'.format(s3_bucket,filename),'--expected-size={0}'.format(content_size),'--profile={0}'.format(to_profile)]
p = subprocess.Popen(args,stdin=PIPE,stdout=PIPE,bufsize=-1)
output = p.communicate(from_command.encode("ascii"))

通过 nload 进行监控,我见过的最高输出速率约为 180Mbps。我可以在代码方面做些什么来增加这种吞吐量? (盒子是 Debian 8.11。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。