Ec2 微型实例、EBS、I/O 和速度。如何提高性能?

Ec2 微型实例、EBS、I/O 和速度。如何提高性能?

我有一个安装了 EBS 卷的微型实例。我必须按对 EBS 卷的每百万次读取/写入付费。

但是,EBS I/O 的本质非常慢,因此 MySql 等服务也很慢。

有人可以建议一些方法来加速我的实例吗(除了明显的评论说微实例不适合这种用途)?

答案1

根据我的经验和其受欢迎程度,EBS 卷对于大多数应用程序(包括 MySQL)来说并不慢,特别是当您使用具有高 IO 带宽的 EC2 实例时。

t1.micro 实例的 IO 带宽“较低”,但我仍然怀疑您是否真的遇到了性能问题。您是否有 iowait 指标显示这是问题所在?

我怀疑 t1.micro 实例类型更有可能无法维持您的应用程序中可能需要的繁重 CPU 活动。

我将 t1.micro 与 MySQL/Apache/etc. 结合使用,用于几乎没有用户的动态网站,并且它运行良好,但是一旦堆积任何类型的持续负载,它就会按设计停止运行。

由于 t1.micro 的内存很小,MySQL 无法在内存中缓存大量数据库表,因此您可能需要不断访问磁盘才能获得结果。无论 EBS IO 有多快,这都会是一个问题,因为它永远不会像直接内存访问那样快。

如果您仍然认为这是 EBS 问题,您可以尝试添加缓存层,以便减少对 MySQL 数据库的访问。但是,您很快就会遇到 t1.micro 上的内存限制。也许可以看看 AWS 的新 ElastiCache 服务:http://aws.amazon.com/elasticache/

如果 t1.micro IO 是限制因素,则您将无法使用 RAID 修复它,因为 RAID 中的所有 EBS 卷都将一起使用相同的 IO 通道。

答案2

通常,人们通过安装 4-10 个 EBS 卷并将它们组合在一起来解决 EBS 的缓慢性和可靠性问题。为您提供更一致的性能以及改进的性能。

答案3

看一下 Pinterest 人员的幻灯片(2015 年):https://www.percona.com/live/mysql-conference-2015/sites/default/files/slides/all_your_iops_are_belong_to_usPLMCE2015.pdf

内核 3.13 + EXT4

4K RAID 块,EXT4,内核 3.13 写入吞吐量 87MB/秒 第 99 百分位延迟:124 毫秒

64K RAID 块,EXT4,内核 3.13 写入吞吐量 88MB/秒 第 99 百分位延迟:122 毫秒

内核 3.18 + XFS

4K RAID 块,XFS,内核 3.18 写入吞吐量 550MB/秒 第 99 百分位延迟:3.7 毫秒

64K RAID 块,XFS,内核 3.18 写入吞吐量 650MB/秒 第 99 百分位延迟:6.2ms

相关内容