如何利用Ubuntu提升MinIO的读写速度
/etc/security/limits.conf,添加:* soft nofile 65535* hard nofile 65535/etc/sysctl.conf,添加:fs.file-max = 3865161233sysctl -p使配置生效。deadline(适用于大多数场景,平衡吞吐与延迟)或noop(适用于SSD,减少调度开销)。执行echo deadline | sudo tee /sys/block/sdX/queue/scheduler(sdX为数据盘设备名)临时生效,或修改/etc/default/grub中的GRUB_CMDLINE_LINUX参数永久生效。/etc/sysctl.conf添加:net.ipv4.tcp_max_syn_backlog = 8192(增加SYN队列长度,应对高并发连接)net.core.somaxconn = 4096(增加监听队列长度,避免连接被拒绝)net.ipv4.tcp_fin_timeout = 30(缩短TIME_WAIT状态超时时间,释放资源)sysctl -p使配置生效。MINIO_OPTS中的--server-threads参数),一般设置为CPU核心数的1.5-2倍(如8核CPU设置为12-16)。例如:/etc/default/minio,添加:MINIO_OPTS="--address :9000 --console-address :9001 --server-threads 16"MINIO_VOLUMES)设置在高性能存储设备(如SSD)上,避免与其他应用竞争磁盘资源。例如:/etc/default/minio,设置:MINIO_VOLUMES="/mnt/ssd-data"(/mnt/ssd-data为SSD挂载点)chown -R minio-user:minio-user /mnt/ssd-data。mmap)提升文件读写性能,无需额外配置。若需禁用(如内存不足场景),可通过--disable-mmap参数关闭,但会降低性能。/etc/sysctl.conf添加:net.ipv4.tcp_tw_reuse = 1(复用TIME_WAIT状态的连接,减少资源消耗)net.ipv4.tcp_window_scaling = 1(启用窗口缩放,提升大带宽下的传输效率)sysctl -p使配置生效。9000、控制台端口9001)通过防火墙。例如使用firewalld:sudo firewall-cmd --permanent --add-port=9000/tcpsudo firewall-cmd --permanent --add-port=9001/tcpsudo firewall-cmd --reload。minio server http://node1/data http://node2/data http://node3/data http://node4/dataupstream minio_cluster {
server node1_ip:9000;
server node2_ip:9000;
server node3_ip:9000;
server node4_ip:9000;
}
server {
listen 80;
server_name minio.example.com;
location / {
proxy_pass http://minio_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重启Nginx使配置生效。