perf(redis): 优化 Redis 配置并添加资源限制
- 为 Redis 添加 ./data/redis:/data 持久化挂载 - 在 redis.conf 中设置 maxmemory 2gb 限制内存使用 - 禁用 RDB 快照,启用 appendfsync everysec 避免 OOM - 在 docker-compose.yml 中为 Redis 添加 mem_limit: 2g 和 memswap_limit: 2g - 为 MongoDB 添加 --wiredTigerCacheSizeGB 1.5 和 mem_limit: 2500m - 为 easyai-server 添加 mem_limit: 2200m 内存限制 - 更新 README.md 文档说明 Redis 资源护栏和迁移步骤
This commit is contained in:
+7
-10
@@ -15,16 +15,15 @@ daemonize no
|
||||
#pidfile /data/dockerData/redis/run/redis6379.pid
|
||||
#默认为no,redis持久化,可以改为yes
|
||||
appendonly yes
|
||||
dir /data
|
||||
#当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能 # 增加到300秒,或设为0禁用
|
||||
timeout 300
|
||||
# 服务器系统默认配置参数影响 Redis 的应用
|
||||
maxclients 10000
|
||||
# 减少到60秒,更快检测连接问题
|
||||
tcp-keepalive 60
|
||||
#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合(分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改)
|
||||
save 900 1
|
||||
save 300 10
|
||||
save 60 10000
|
||||
# 禁用 RDB 快照,避免小内存机器上 fork bgsave 触发 OOM;生产保留 AOF。
|
||||
save ""
|
||||
# 按需求调整 Redis 线程数
|
||||
tcp-backlog 511
|
||||
# 设置Redis副本实例是否为只读模式
|
||||
@@ -34,14 +33,13 @@ replica-read-only no
|
||||
# 设置Redis最大内存达到时的数据淘汰策略
|
||||
# noeviction:当内存达到最大限制时,Redis不会自动删除任何键,这可能导致进一步的操作失败,直到手动干预 # 当内存不足时,删除最近最少使用的键
|
||||
# maxmemory-policy allkeys-lru
|
||||
maxmemory 2gb
|
||||
maxmemory-policy noeviction
|
||||
# 设置数据库数量,这里设置为16个数据库
|
||||
databases 16
|
||||
# 启用 AOF, AOF常规配置
|
||||
appendonly yes
|
||||
# 改为由操作系统决定何时同步,减少I/O压力
|
||||
appendfsync no
|
||||
no-appendfsync-on-rewrite no
|
||||
# AOF 常规配置
|
||||
appendfsync everysec
|
||||
no-appendfsync-on-rewrite yes
|
||||
auto-aof-rewrite-percentage 100
|
||||
auto-aof-rewrite-min-size 64mb
|
||||
# 慢查询阈值
|
||||
@@ -71,4 +69,3 @@ zset-max-ziplist-entries 128
|
||||
zset-max-ziplist-value 64
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user