高性能MySQL:什么时候应该使用闪存

作者:港云互联 时间:2019-12-26

        固态存储最适合使用在任何有着大量随机I/O工作负载的场景下。随机I/O通常是由于数据大于服务器的内存导致的。用标准的硬盘驱动器,受限于转速和寻道延迟,无法提供很高的IOPS。闪存设备可以大大缓解这种问题。



        当然,有时可以简单地购买更多内存,这样随机工作负载就可以转移到内存,I/O就不存在了。但是当无法购买足够的内存时,闪存也可以提供帮助。另一个不能总是用内存解决的问题是,高吞吐的写人负载。增加内存只能帮助减少写入负载到磁盘,因为更多的内存能创造更多的机会来缓冲、合并写。这允许把随机写转换为更加顺序的I/O。

高性能MySQL:什么时候应该使用闪存


        然而,这并不能无限地工作下去,一些事务或插入繁忙的工作负载不能从这种方法中获益。闪存存储在这种情况下却也有帮助。单线程工作负载是另一个闪存的潜在应用场景。当工作负载是单线程的时候,它是对延迟非常敏感的,固态存储更低的延迟可以带来很大的区别。相反,多线程工作负载通常可以简单地加大并行化程度以获得更高的吞吐量。MySQL 复制是单线程工作的典型例子,它可以从低延迟中获得很多收益。在备库跟不上主库时,使用闪存存储往往可以显著提高其性能。



        闪存也可以为服务器整合提供巨大的帮助,尤共是PCIe方式的。我们已经看到了机会,把很多实例整合到一台物理服务器一有时高达 10或15倍的整合都是可能的。



        然而闪存也可能不一定是你要的答案。一个很好的例子是,像InnoDB日志文件这样的顺序写的工作负载,闪存不能提供多少成本与性能优势,因为在这种情况下,闪存连续写方面不比标准硬盘快多少。这样的工作负载也是高吞吐的,会更快耗尽闪存的寿命。在标准硬盘上存放日志文件通常是一个更好的主意,用具有电池保护写缓存的RAID控制器。



        有时答案在于内存I磁盘的比例,而不只是磁盘。如果可以买足够的内存来缓存工作负载,就会发现这更便宜,并且比购买闪存存储设备更有效。



新人注册,即送价值满880元现金劵

立即注册>>
客服 电话 反馈 活动 回顶部

服务热线

+852-5764-9835

1对1贴心服务,7X24小时热线