服务器磁盘io性能监控和优化
服务器磁盘io性能监控和优化
全文-服务器磁盘io性能监控和优化
大纲
- 磁盘IO性能评价指标
- IOPS:每秒IO请求次数,包括读和写
- 吞吐量:每秒IO流量,包括读和写
- 磁盘IO性能监控工具
- iostat:监控各磁盘IO性能,util列反映磁盘IO繁忙程度
- iotop:监控各进程IO流量,使用-oP参数
- stats命令:查看容器IO,关注BLOCK I/O列
- fio:测试磁盘IOPS性能,如随机写入、顺序写、混合读写
- 应用层优化
- 增加内存缓存池:减少磁盘IO请求
- 减少日志刷盘:避免频繁写盘导致的高CPU占用
- 降低checkpoint频率:减少落盘备份频率
- 调整磁盘IO调度算法
- noop:无优化,主要用于测试
- cfq:完全公平队列,默认调度器,适用于桌面和工作站
- mq-deadline:适用于多队列环境
- deadline:适用于数据库环境
- 临时修改调度器:echo deadline > /sys/block/<磁盘名称>/queue/scheduler
- 调整操作系统文件缓存参数
- 提高阈值:让更多数据暂存内存,减少小规模写入
- 临时修改:sysctl -w vm.dirty_background_ratio=20,vm.dirty_ratio=40
- 永久修改:编辑sysctl.conf文件,然后sysctl -p刷新