FetchLinux存储性能优化实战指南
一 硬件与阵列布局
lsblk -d -o name,rota(ROTA=1为机械盘,0为SSD)。mkfs.xfs -f -d su=256k,sw=4 /dev/sdb;对MD RAID可设置条带缓存:echo 32768 > /sys/block/md0/md/stripe_cache_size。二 文件系统与挂载选项
data=writeback(提升写吞吐,需理解一致性取舍);XFS在电池保护或企业级存储时可考虑nobarrier,否则建议保持屏障开启以确保断电不丢数据。fstrim)以维持SSD性能与寿命。UUID=xxxx /data ext4 defaults,noatime,data=writeback,discard 0 0UUID=xxxx /data xfs defaults,noatime,nobarrier,inode64 0 0blockdev --setra 8192 /dev/sdb(HDD可适当增大,SSD通常保持默认或适度)。三 I O调度器与队列优化
none或mq-deadline),减少额外排序开销。cat /sys/block/sda/queue/schedulerecho deadline > /sys/block/sdb/queue/scheduler;NVMe可用echo none > /sys/block/nvme0n1/queue/schedulerecho 256 > /sys/block/sdb/queue/nr_requests,提升聚合吞吐(结合设备与负载压测微调)。四 内核与缓存策略
vm.dirty_background_ratio与vm.dirty_ratio平衡写吞吐与提交延迟(如设置**5% / 10%**作为起点,视应用与内存大小压测微调)。vm.swappiness(如1–10),减少写入被换出导致的抖动。vm.vfs_cache_pressure,在元数据缓存与页面缓存间取得平衡。五 监控与验证
iostat -x 1、vmstat 1、sar -d观察await、r/s、w/s、avgqu-sz、svctm、util等指标,定位瓶颈在设备、队列还是文件系统。/etc/fstab与sysctl变更记录,回滚有据。fio进行随机/顺序、读/写、不同队列深度的基准测试,验证调度器、挂载选项与条带对齐的实际收益。data=writeback、nobarrier等会影响数据一致性与故障恢复特性;务必在非生产环境充分验证并做好备份。