#!/bin/bash # MinIO优化启动脚本 # 版本: 1.0 # 描述: 针对小文件场景优化,限制内存使用32G # MinIO安装目录 MINIO_HOME="/iflytek/soft/minio" MINIO_BINARY="${MINIO_HOME}/minio" # MinIO数据目录 (请根据实际情况修改) MINIO_DATA_DIR="${MINIO_HOME}/data" # MinIO配置目录 MINIO_CONFIG_DIR="${MINIO_HOME}/conf" # MinIO日志目录 MINIO_LOG_DIR="${MINIO_HOME}/logs" # 创建必要的目录 mkdir -p "${MINIO_DATA_DIR}" "${MINIO_CONFIG_DIR}" "${MINIO_LOG_DIR}" # MinIO服务器地址和端口 MINIO_ADDRESS=":9000" MINIO_CONSOLE_ADDRESS=":9001" # 设置内存限制 - 最大32GB export MINIO_ROOT_USER="minioadmin" export MINIO_ROOT_PASSWORD="minioadmin@123456" # 性能优化参数 export MINIO_API_REQUESTS_MAX=10000 # 提高API请求限制 export MINIO_API_REQUESTS_DEADLINE=300 # 请求超时时间(秒) # 内存管理优化 export MINIO_MAX_MEMORY="32GiB" # 限制MinIO最大内存使用 export MINIO_MAX_HEAP="28GiB" # 最大堆内存 export MINIO_MIN_HEAP="16GiB" # 初始堆内存 # 垃圾回收优化 - 针对小文件场景 export MINIO_GC="gcthreads=4" # GC线程数 # 网络和IO优化 export MINIO_NETWORK=on # 启用网络优化 export MINIO_BUFFER_SIZE="64MiB" # 缓冲区大小 # 启动MinIO服务器 exec "${MINIO_BINARY}" server "${MINIO_DATA_DIR}" \ --address "${MINIO_ADDRESS}" \ --console-address "${MINIO_CONSOLE_ADDRESS}" \ --config-dir "${MINIO_CONFIG_DIR}" \ --quiet \ --anonymous \ --json \ >> "${MINIO_LOG_DIR}/minio.log" 2>&1 & # 记录进程ID echo $! > "${MINIO_HOME}/minio.pid" echo "MinIO服务器已启动,PID: $(cat ${MINIO_HOME}/minio.pid)" echo "控制台地址: http://$(hostname -I | awk '{print $1}'):9001" echo "API地址: http://$(hostname -I | awk '{print $1}'):9000"