硬盘类型选择
在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