推荐文件系统:XFS (CentOS 7默认)
# 创建XFS文件系统(如果新部署)
mkfs.xfs /dev/sdX
挂载选项优化:
# /etc/fstab示例优化条目
/dev/sdX /data xfs defaults,noatime,nodiratime,allocsize=8m,inode64,logbsize=256k,logbufs=8 0 0
noatime/nodiratime
: 禁用访问时间更新allocsize
: 提高大文件性能inode64
: 支持大容量存储# 查看当前调度器
cat /sys/block/sdX/queue/scheduler
# 设置为deadline(传统硬盘)或noop(SSD)
echo "deadline" > /sys/block/sdX/queue/scheduler
# 永久生效(添加到/etc/rc.local)
echo 'echo deadline > /sys/block/sdX/queue/scheduler' >> /etc/rc.local
chmod +x /etc/rc.local
# /etc/sysctl.conf添加以下参数
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.swappiness = 10
vm.vfs_cache_pressure = 50
# 应用设置
sysctl -p
# nginx.conf中优化部分
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
open_file_cache max=10000 inactive=30s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
aio on;
directio 4m;
}
# httpd.conf中优化部分
EnableSendfile on
EnableMMAP off
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
# 挂载tmpfs作为临时缓存
mount -t tmpfs -o size=512M tmpfs /var/cache/nginx
# 安装bcache工具
yum install bcache-tools
# 创建bcache设备
make-bcache -B /dev/sdX -C /dev/sdY
iostat - 监控磁盘I/O
iostat -x 2
iotop - 查看进程I/O使用情况
yum install iotop
iotop -o
vmstat - 系统整体I/O情况
vmstat 2
blktrace - 深入分析块设备I/O
yum install blktrace
blktrace -d /dev/sdX -o - | blkparse -i -
通过以上优化措施,可以显著提升CentOS 7 Web服务器的磁盘I/O性能,特别是在高并发访问场景下。具体优化效果需根据实际硬件配置和工作负载进行调整和测试。