磁盘的优化
调度算法
写入优化
优化方式
1、调整算法
2、调整队列
调整算法: vim /usr/lib/tuned/《已经选择的优化策略》/tuned.conf
查看算法: cat /sys/nlock/sda/queue/scheduler
配置文件位于/sys/block/sda(需要优化的磁盘)/queue/
在 noob算法下
无任何优化(多用在存储已经优化的情况下)
在deadline的算法模式下
read_expire读过期为最大读取时间(默认为500ms)
write_expire写过期为最大写入时间(默认为5000ms)
在anticipatory(猜想)算法下
其中antic_expore的等待时间下(默认6ms),会判断下一个IO是否位于附近,如果相近则继续处理
在cfq算法下
针对每个io进行单独的算法。
使用ionice命令优化特定进程在磁盘上的优先级
-p 进程ID
-n 优先级
-c 类
class1 (real-time) 同优先级谁先访问磁盘随先读取 优先级同类最高
优先级0-7(0最重要)
class2 (best-effort)同优先级依次轮询使用固定时间的时间片,同类优先级高者可使用时间片越长
优先级0-7(0最高)
class3 空闲时才处理
测试: 使用mailload.py 模拟大量邮件 小IO测试
mailload
-d 指定文件生成位置
example mailload。py -d /mnt/xfs/mailload -t -n500
扩展: xfs和ext4性能的区别,xfs适合大文件处理,ext4适合处理小文件(一个IO小于64K算小IO)
IO检测工具 iometer 可以监控平均速率,平均IO大小等等