Linux环境下MinIO性能调优技巧
net.core.somaxconn=65535
:增加TCP监听队列长度,处理更多并发连接;net.ipv4.tcp_max_syn_backlog=65535
:扩大SYN队列,避免连接请求丢失;vm.swappiness=10
:降低内存交换概率,减少磁盘I/O;vm.dirty_ratio=20
/vm.dirty_background_ratio=10
:控制脏页刷新阈值,平衡内存与磁盘写入性能。noatime
:禁用文件访问时间更新,减少元数据操作;nodiratime
:禁用目录访问时间更新;rw,noatime,nodiratime,allocsize=1M
(预分配大块空间,减少碎片)。/etc/security/limits.conf
添加:* soft nofile 65536
、* hard nofile 65536
;并修改/etc/pam.d/login
加载pam_limits.so
模块。MINIO_BROKER_THREADS
环境变量设置Broker线程数(默认值可能较低),建议设置为CPU核心数的1-2倍(如8核CPU设置为8-16),提升并发处理能力。MINIO_CACHE_SIZE
设置内存缓存(默认较小),建议设置为1GB-4GB(根据内存大小调整),缓存热点数据以减少磁盘访问。MINIO_SSD_CACHE_SIZE
启用SSD缓存(默认关闭),将热点数据存储在SSD中,进一步提升I/O性能。debug
降低至info
(通过MINIO_LOG_LEVEL
环境变量),减少日志写入频率,避免日志成为性能瓶颈。--shard-size
参数调整(默认4MB),较大的分片(如8MB-16MB)可提高写入性能,但会增加读取延迟(适合写多读少场景);--replicas
参数设置(默认3副本),增加副本数可提高可靠性,但会增大存储开销(适合高可用场景)。--ec=4x2
,即4数据块+2校验块)替代副本,可在保证数据可靠性的同时,减少存储开销(约50%)并提高存储效率。net.ipv4.tcp_window_scaling=1
)、重试机制(net.ipv4.tcp_retries2=5
)等参数,提高网络传输效率。access.log
)和错误日志(error.log
),查找慢请求、错误请求等问题,针对性优化配置。