服務器磁盤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刷新