创建了一个新的Ubuntu c3.xlarge实例,当我到达存储选项时,我可以选择将ROOT更改为通用SSD,预置IOPS或磁性,如果我选择预置IOPS,我可以设置另一个值。实例存储0下的附加数据存储没有选项,但如果更改为EBS,则我有相同的选项。
我真的很难理解:
亚马逊文档非常不清楚
我正在使用此实例将数据从文本文件传输到Postgres关系数据库,这些文件必须逐行处理,每行有多个INSERT语句,所以在我的本地计算机上运行缓慢(500万行的数据需要15个小时)。最初数据库是在RDS上单独进行的,但速度非常慢,所以我在实例上本地安装了数据库,删除了网络延迟,这加速了一些事情,但它仍然比我当地简陋的linux服务器慢得多。
在加载数据CPU实例时查看实例日志仅为6%,因此现在认为磁盘可能会限制因素。数据库将使用/(不确定是SSD还是磁性 - 如何查找)磁盘和数据文件位于/ mnt(使用Instance Store 0)磁盘上。
我只需要这个实例做两件事:
(所以数据库只是一个临时步骤)
搜索索引被转移到EBean服务器然后我不需要这个实例再过一个月,然后我用新数据重复这个过程,所以考虑到这一点,我可以花更多的钱来加快处理速度,因为我我只能每月使用1天,那么我可以停止这个实例并且不会产生任何进一步的费用吗?
请问我该怎样做才能确定问题并加快速度?
答案 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(最大值))