我有一个较老的EC2 Micro实例,安装了一个标准的LAMP堆栈作为利用磁驱动器的开发环境。 我在生产中有相同types的设置。 我想testing如何切换到SSD根卷将影响性能。 使用webpagetest.org,我在变化之前和之后几次运行了九次testing,结果非常一致。 加载时间几乎翻了一番,第一个字节的时间增加了四倍。
在 webpagetest.org截图 之前
在 webpagetest.org截图之后
我读过的一切都表明,使用SSD只会提高性能。 我究竟做错了什么?
正如@ceejayoz所指出的那样,新的EBS卷有第一次写入的惩罚……但他们也有一个首读的惩罚,特别是如果从一个快照(或AMI,因为它们由快照支持)创build的。
如果你还没有预热的话,你应该预热这个音量。 现在还不算太迟,因为你可以无损地做到这一点。 它只需要每卷完成一次…当然,它根本不需要完成,因为这一切都是最终发生的,但是如果你是基准testing的话,你绝对应该这样做。
一旦所有的块被访问,它应该有不同的performance。
当您创build任何新的EBS卷(通用(SSD),预置IOPS(SSD)或磁性)或从快照恢复卷时,后端存储块将立即分配给您。 但是,第一次访问存储块时,必须先将其擦除干净(对于新卷),或者从其快照(对于还原卷)实例化,然后才能访问该块。 此初步操作需要时间,每次访问块时,可能会导致卷的IOPS损失5%至50%。 对于大多数应用程序来说,在卷的整个生命周期内摊销这个成本是可以接受的。 数据访问一次后性能恢复。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html