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

我有一个EBS卷安装的微型实例。 我必须支付每百万读/写到EBS卷。

但是由于EBS的本质,I / O非常缓慢,因此像MySql这样的服务很慢。

有人可以build议加快我的实例的方法(除了明显的意见,微型实例不是这样用)?

根据我的经验,根据他们的知名度,对于大多数应用程序(包括MySQL)来说,EBS卷的速度并不慢,特别是在使用IO带宽较高的EC2实例时。

t1.micro实例具有“低”的IO带宽,但是我仍然怀疑你是否真的遇到了性能问题。 你有关于爱荷华州的指标,显示这是问题?

我怀疑t1.micro实例types更有可能无法维持像您的应用程序中可能需要的大量CPU活动。

我使用MySQL / Apache /等t1.micro。 对于几乎没有用户的dynamic网站而言,它可以很好地工作,但是只要你在任何持续的负载上堆积起来,就会按照devise的方式进行裁剪。

考虑到t1.micro的小内存大小,MySQL将无法caching内存中的大部分数据库表,因此您可能需要继续使用磁盘来获取结果。 无论EBS IO有多快,这都是一个问题,因为它永远不会像直接内存访问一样快。

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

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

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

看看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百分位延迟:124ms

64K RAID块,EXT4,内核3.13写入吞吐量88MB /秒百分之九十九延迟:122ms

内核3.18 + XFS

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

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