DBA笔记-第十三部分(SSD磁盘优化)

磁盘访问模式

顺序访问:逻辑上顺序访问磁盘上的块

随机访问:随机访问磁盘上的块

磁盘的分类

HDD(机械硬盘):机械硬盘主要由磁头和磁盘组成,磁头是机械硬盘读写数据的关键部分。当机械硬盘工作时,磁头会在磁盘旋转时写入磁道数据或者读取已有的数据。

SSD(固态硬盘):基于闪存的固态硬盘是固态硬盘的主要类别,其内部构造十分简单,固态硬盘内主体其实就是一块PCB板,而这块PCB板上最基本的配件就是控制芯片,缓存芯片(部分低端硬盘无缓存芯片)和用于存储数据的闪存芯片。

SSD的数据库优化

磁盘调度算法设置为deadline 或 noop

InnoDB存储引擎参数设置(根据实际情况调整大小)

innodb_flush_neighbors=0  -- 控制刷新

innodb_log_file_size=8G   -- 控制日志大小

Deadline 算法的优点和缺点
优点
  • 减少延迟: 由于请求的截止时间得到保证,Deadline 可以有效减少高负载下的 I/O 延迟。
  • 防止饥饿Deadline 确保所有请求在一定时间内都会得到处理,避免了长时间的饥饿现象。
  • 适用于混合负载Deadline 适用于各种类型的负载,包括读写混合的工作负载,能够在一定程度上提供良好的性能。
缺点
  • 复杂度较高: 相比于 NOOP 等简单的调度算法,Deadline 的实现和管理较为复杂,可能会引入一定的开销。
  • 不适用于所有场景: 在一些特定场景下,如高吞吐量的应用,Deadline 可能无法提供最佳的性能。在这些情况下,可能需要更为复杂的调度算法(如 CFQnoop)。
NOOP 算法的优点和缺点
优点
  • 低延迟: 由于没有复杂的调度算法,NOOP 可以提供更低的调度延迟,这对 SSD 等高性能存储设备特别有利。
  • 简化实现NOOP 算法的实现非常简单,减少了调度的开销。
缺点
  • 缺乏优化NOOP 不对请求进行优化或重排,因此在面对高负载或复杂的 I/O 访问模式时,它可能无法充分利用存储设备的性能。
  • 不适用于 HDD: 对于传统的机械硬盘,NOOP 算法可能无法提供最佳的性能,因为这些设备依赖于调度算法来减少寻道延迟和旋转延迟。

增加日志文件大小可以减少日志刷新的频率,提升性能。日志缓冲区的增大也有助于减少写入操作。性能更平稳,可以提升大约百分之十五以上的性能。

查看目前磁盘算法

-- 修改算法
[root@my1 ~]# echo deadline > /sys/block/sda/queue/scheduler
-- 查看磁盘算法 这里sda是我的磁盘
[root@my1 ~]# cat /sys/block/sda/queue/scheduler 
noop [deadline] cfq 

HDD硬盘也强烈建议设置为deadline  和 cfq差别并不大,修改完需要重启mysql,需要等待一段时间启动。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值