将数据从 EBS 移动到临时存储会提高 MySQL 查询性能吗?

Posted

技术标签:

【中文标题】将数据从 EBS 移动到临时存储会提高 MySQL 查询性能吗?【英文标题】:Will moving data from EBS to ephemeral storage improve MySQL query performance? 【发布时间】:2012-04-24 11:11:37 【问题描述】:

我正在使用 EBS 卷来存储 mysql 数据。我在临时设备上也有足够的空间。我会将数据移动到 /root/,前提是它会提高查询性能。

临时存储是否比 EBS 卷更快?

【问题讨论】:

【参考方案1】:

Daan's answer 指的是 Eric Hammond 对所有 EBS 好处的出色总结(+1),但要再次强调一点:

临时存储将在停止/启动循环中丢失并且通常会消失,因此您绝对不想将任何具有持久价值的东西放在那里,即 只将临时数据放在您可以承受丢失或轻松重建的地方,例如交换文件或在计算期间使用的严格临时数据。当然,您可能会在那里存储大量索引,但必须准备好在由于任何原因(例如重启、硬件故障等)清除存储后重建这些索引。

因此,首先将 MySQL 数据库存储在临时存储上并不是一个好主意,除非您确切知道自己在做什么,并且准备好随时进行时间点备份等。

也就是说,这确实属于Server Fault,并且已经提出并回答了一些类似或相关的问题 - 我通常不链接到搜索结果,但这实际上很有帮助,请参阅ebs ephemeral performance ;我认为与临时判断最相关的答案是:

埃里克·哈蒙德在Ec2 micro instance, EBS, I/O and speed. How can I improve performance? Eric 是 You Should Use EBS Boot Instances on Amazon EC2 的作者,以及许多其他关于 AWS 的优秀文章,尤其是 EC2/EBS Jonik 在Which is faster for read access on EC2; local drive or EBS? aculich 在At what point is EBS usage the bottleneck? 链接到有关该主题的更多文章

【讨论】:

【参考方案2】:

回答实际问题:

临时实例存储比标准 EBS (100 IOPS) 更快,并且 EBS 性能可能会有很大差异。与 RAID 一起使用时,标准 EBS 似乎提供了优于临时的速度。

还可以为 EBS IPOS 卷类型付费以实现可预测且可靠的 I/O 性能,该性能可以比 elphermal 更好,并且这些可以与 RAID 一起使用以进一步改进。需要注意的是,可以使用高性能的临时 SSD 驱动器(hi1.4xlarge)。

请参阅EC2 Ephemeral Disks vs EBS Volumes in RAID、Performance Test: Amazon EBS vs. Instance Storage 和 Features of Amazon EBS volumes

【讨论】:

【参考方案3】:

永远记住,临时存储将在停止/启动周期中丢失。

我会警惕有人说 EBS 比临时存储快,我读过不止一篇现实世界的经验说 EBS 的性能不如临时存储。最近一篇我记得链接是DuckDuckGo's经验:

由于 EBS 参与了大多数大型 失败。 还经历了 EBS 的性能变化。 新的预配置 IOP 应该可以处理这个问题,但额外的更少 在架构中移动部分更好。 未来可能会试验 PIOP,尽管当前的非 EBS 架构是 运行良好。 发现 4 个临时磁盘的性能优于条带化 8 个 EBS 磁盘。

【讨论】:

以上是关于将数据从 EBS 移动到临时存储会提高 MySQL 查询性能吗?的主要内容,如果未能解决你的问题,请参考以下文章

ec2将实例从中型升级到大型,我的临时存储会发生啥

将 aws 快照复制到 S3 存储桶

将数据从 MS SQL 移动到 MySQL

如何从我的 EBS 支持的 EC2 实例创建 AMI?

EBS与外围系统数据的交互方式——接口表与API的区别

Mysql 临时表 视图