【发布时间】:2016-05-20 14:50:15
【问题描述】:
我正在运行一个相当简单的 Python 脚本,它使用多处理和请求从 S3 下载文件。当我在本地运行此脚本时,它非常快(2.5 分钟内 5k 图像)。当我在 EC2 实例(g2.2xlarge,因为我需要使用 GPU 实例)上运行相同的脚本时,它非常慢(大约慢 10 倍),即使我使用优化的 EBS 并给它 3600 IOPs .在这一点上,我不知道我应该检查什么。任何建议将不胜感激。
脚本是从这里修改的,将 urllib2 替换为 requests:
https://github.com/BVLC/caffe/blob/master/examples/finetune_flickr_style/assemble_data.py
【问题讨论】:
-
也许在这里发布脚本?磁盘 I/O 可能是一个重要因素。您是否尝试将文件下载到
os.devnull以消除本地磁盘 I/O 的影响?您的本地环境到您的 S3 目标与您的 EC2 实例之间的延迟有什么区别?你能从两者都 ping 通吗? -
您的 S3 存储桶在哪个区域,您的 EC2 实例在哪个区域?
-
我想通了。这个问题很可能是我被 S3 限制了。当我从 requests 切换到 boto3 时,它现在比我的本地机器还要快。
标签: python amazon-web-services amazon-s3 amazon-ec2