[kvm]硬盘IO优化

硬盘类型选择

在CentOS7中有IDE、SATA和virtio三种,建议用virtio三种。virtio是半虚拟化的,性能媲美原生。

缓存模式选择

缓存模式有五种,不过常用的只有三种:writethrough、writeback和none。centos默认为none

  • writethrough:数据直接写入硬盘,不使用缓存。优点是操作简单,但写入速度较慢。
  • writeback:数据更新时只写入缓存cache,数据更新时再写入到硬盘。优点是写入速度快;缺点是一旦数据从缓存写入到硬盘的时候发生掉电,数据无法找回。
  • none:数据写入到宿主机的硬盘缓存,性能还行。

性能:writeback > none > writethrough

安全:writethrough > none > writeback

异步AIO读写方式选择

aio分两种:native和thread

  • native:kernel的原生异步IO
  • thread:线程模拟异步,缺点不少。

选择native即可。

硬盘IO调度器选择

目前linux的IO调度器有三种:NOOP、Deadline、CFQ

  • Deadline:用过期时间排序io操作顺序,保证先出现的io请求有最短的延迟时间。适用于读操作较多的场景。
  • NOOP:设计最简单,读写较多时会造成效率降低。
  • CFQ:完全公平队列。性能均衡,但影响数据连续读写。适用于有大量进程的多用户系统。

如果要更改模式:

echo SCHEDULER_NAME > /sys/block/DEVICE_NAME/queue/scheduler
# 示例
echo cfq > /sys/block/sdb/queue/scheduler
posted @ 2022-07-21 09:07  花酒锄作田  阅读(358)  评论(0编辑  收藏  举报