我正在使用 EC2 p2.xlarge 实例来训练图像处理模型。我的预测任务的目标类别相当多(20 个),为了获得最佳准确度,我将为每个目标训练一个模型。
因此,我对主卷进行了快照,并创建了 4 个重复卷(通用 SSD),以便可以同时运行另外 4 个 p2 实例。问题是,除了主卷之外,我的 IO 性能非常低。举个例子,一个训练周期在主实例上需要 200 秒,而“估计”在重复实例上需要 10,000 秒。
我错过了什么?
答案1
EBS 快照存储在 S3 中。当您从快照创建卷时,在第一次读取操作中,块首先从 S3 逐步拉到 EBS,从那时起,该特定块的所有后续读取都针对 EBS 的低延迟基础设施执行。
为了在从快照创建卷后获得最佳 EBS 性能,您应该通过对所有卷块进行完整读取来“预热”您的卷,以确保没有进一步的 IO 操作需要对 S3 进行缓慢的请求。
新的、新鲜的 EBS 卷不会受到这种行为的影响,因为它们是在 EBS 中“诞生”的,不需要从 S3 提取数据。