71 lines
3.3 KiB
YAML
71 lines
3.3 KiB
YAML
# GoEdge CDN 缓存优化配置文件模板
|
||
# 复制此文件为 cache.yaml 并根据实际情况修改配置
|
||
|
||
# TTL 缓存配置
|
||
ttl_cache:
|
||
# 分片配置
|
||
# pieces: 0 表示自动计算,> 0 表示手动指定分片数
|
||
# 自动计算规则:基础分片数 = CPU核心数 * 2,根据系统内存调整
|
||
pieces: 0
|
||
min_pieces: 64 # 最小分片数
|
||
max_pieces: 1024 # 最大分片数
|
||
|
||
# GC 配置
|
||
gc:
|
||
base_interval: 2s # 基础 GC 间隔
|
||
min_interval: 1s # 最小 GC 间隔(过期率高时使用)
|
||
max_interval: 10s # 最大 GC 间隔(过期率低时使用)
|
||
adaptive: true # 是否启用自适应 GC(根据过期率动态调整间隔)
|
||
sample_size: 100 # 过期率采样大小(用于智能分片选择)
|
||
|
||
# 文件缓存配置
|
||
file_cache:
|
||
# SSD 检测配置
|
||
auto_detect_ssd: true # 是否自动检测 SSD(通过 /sys/block/*/queue/rotational 或 lsblk)
|
||
ssd_paths: [] # 手动指定 SSD 路径(可选,如:["/mnt/ssd1", "/mnt/ssd2"])
|
||
# 如果 auto_detect_ssd 为 false,将使用此列表
|
||
|
||
# SSD 优化策略
|
||
# 热点数据将优先存储在 SSD 上
|
||
ssd:
|
||
hot_item_threshold: 100 # 访问次数超过此值视为热点数据
|
||
write_buffer_size: 128KB # 写入缓冲区大小(SSD 随机写性能好,使用更大缓冲区)
|
||
read_ahead_size: 256KB # 预读大小(SSD 使用更激进的预读策略)
|
||
sync_interval: 10s # 同步间隔(SSD 不需要频繁同步,减少 fsync 频率)
|
||
open_file_cache_max: 10000 # 文件句柄缓存最大值(SSD 可以缓存更多文件句柄)
|
||
|
||
# HDD 配置
|
||
# 传统机械硬盘的优化配置
|
||
hdd:
|
||
write_buffer_size: 64KB # 写入缓冲区大小
|
||
read_ahead_size: 128KB # 预读大小
|
||
sync_interval: 1s # 同步间隔(HDD 需要更频繁的同步)
|
||
open_file_cache_max: 5000 # 文件句柄缓存最大值
|
||
|
||
# 内存缓存配置
|
||
# 内存缓存作为文件缓存的一级缓存,用于提升小文件访问性能
|
||
memory:
|
||
# 内存缓存容量(系统内存的百分比)
|
||
# 如果未设置,将根据系统内存自动计算:
|
||
# - 系统内存 < 32GB: 10%
|
||
# - 系统内存 >= 32GB: 15%
|
||
# - 系统内存 >= 64GB: 20%
|
||
# 限制范围:最小 512MB,最大 32GB
|
||
capacity_percent: 15 # 默认 15%,可配置 10-30%
|
||
|
||
# 小文件阈值
|
||
small_file_threshold: 1MB # 1MB 以下视为小文件(强制使用内存缓存)
|
||
medium_file_threshold: 10MB # 10MB 以下视为中等文件(根据内存使用率决定)
|
||
|
||
# 小文件内存缓存策略
|
||
small_file_memory_cache: true # 小文件强制使用内存缓存(提升访问速度)
|
||
|
||
# 淘汰策略
|
||
eviction_policy: "lfu_lru" # 淘汰策略:
|
||
# - lfu: 最少使用频率(Least Frequently Used)
|
||
# - lru: 最近最少使用(Least Recently Used)
|
||
# - lfu_lru: 混合策略(保留热点和最近访问的数据)
|
||
preserve_hot_items: true # 保留热点数据(访问频率高的数据)
|
||
preserve_recent_items: true # 保留最近访问的数据(最近 1 小时内访问的数据)
|
||
|