我应该为EC2实例使用哪些AWS磁盘选项?

时间:2014-06-26 09:34:58

标签: amazon-web-services amazon-ec2

创建了一个新的Ubuntu c3.xlarge实例,当我到达存储选项时,我可以选择将ROOT更改为通用SSD,预置IOPS或磁性,如果我选择预置IOPS,我可以设置另一个值。实例存储0下的附加数据存储没有选项,但如果更改为EBS,则我有相同的选项。

我真的很难理解:

  1. 每个选项的速度
  2. 每个选项的费用
  3. 亚马逊文档非常不清楚

    我正在使用此实例将数据从文本文件传输到Postgres关系数据库,这些文件必须逐行处理,每行有多个INSERT语句,所以在我的本地计算机上运行缓慢(500万行的数据需要15​​个小时)。最初数据库是在RDS上单独进行的,但速度非常慢,所以我在实例上本地安装了数据库,删除了网络延迟,这加速了一些事情,但它仍然比我当地简陋的linux服务器慢得多。

    在加载数据CPU实例时查看实例日志仅为6%,因此现在认为磁盘可能会限制因素。数据库将使用/(不确定是SSD还是磁性 - 如何查找)磁盘和数据文件位于/ mnt(使用Instance Store 0)磁盘上。

    我只需要这个实例做两件事:

    1. 从数据文件加载数据库
    2. 从数据库创建Lucene搜索索引
    3. (所以数据库只是一个临时步骤)

      搜索索引被转移到EBean服务器然后我不需要这个实例再过一个月,然后我用新数据重复这个过程,所以考虑到这一点,我可以花更多的钱来加快处理速度,因为我我只能每月使用1天,那么我可以停止这个实例并且不会产生任何进一步的费用吗?

      请问我该怎样做才能确定问题并加快速度?

2 个答案:

答案 0 :(得分:6)

以下是我的个人指南:

  • 如果音量很小(<33G)并且只需要最终的性能突发(例如启动音量),请使用磁力驱动器。

  • 如果您需要可预测的性能和高吞吐量,请使用PIOPS卷和EBS优化实例。

  • 否则,请使用通用SSD。

答案 1 :(得分:4)

您的CPU仅为6%,也许您可​​以尝试使用多进程?

您是否测试了远程实例的音量I / O性能?

PIOPS价格昂贵,但并没有明显优于gp2,唯一的优势是stable

例如,我用1500IOPS创建了一个500G gp2和一个500G PIOPS,然后我尝试通过mongodb插入并找到1,000,000个文档,然后通过mongoperf / iostat / mongostat / dstat等检查io性能

每卷的iops性能预计为1500, 但是gp2的iops是不稳定的,差不多是从700到1600(r + w),如果只读,它可能会暴露到4000,如果只是写,它只会达到800。 piops非常稳定,iops差不多是1470。

根据您的情况,我建议考虑一下gp2(体积大小取决于您的iops需求,500G gp2 = 1500iops,1T gp2 = 3000iops(最大值))