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),查找慢请求、错误请求等问题,针对性优化配置。