7.2 修改配置参数
7.2.1 修改单实例配置参数
为了确保分布式缓存服务发挥出最优性能,您可以根据自己的业务情况对DCS缓存实 例的运行参数进行调整。
例如,需要将实例持久化功能关闭,则需要将“appendonly”修改为“no”。
实例配置参数修改之后,参数会立即生效(不需要手动重启实例),如果是集群,会 在所有分片生效。
操作步骤
步骤1 登录分布式缓存服务管理控制台。
步骤2 在管理控制台左上角单击 ,选择区域和项目。
步骤3 单击左侧菜单栏的“缓存管理”。
步骤4 在“缓存管理”页面,单击DCS缓存实例的名称。
步骤5 单击“实例配置 > 参数配置”进入配置界面。
步骤6 单击“修改”。
步骤7 根据需要修改配置参数。
各参数的详细介绍见表7-1和表7-2,一般情况下,按照系统默认值设置参数即可。
表7-1 Redis 缓存实例配置参数说明
参数名 参数解释 取值范围 默认值
timeout 客户端与服务端连接空闲 超时断开时间,参数设为 0表示连接永不断开。
0~7200,单 位:秒。
0
appendfsync 操作系统的fsync函数刷新 缓冲区数据到磁盘,有些 操作系统会真正刷新磁盘 上的数据,其他一些操作 系统只会尝试尽快完成。
Redis支持三种不同的调用 fsync的方式:
no:不调用fsync,由操作 系统决定何时刷新数据到 磁盘,性能最高。
always:每次写AOF文件 都调用fsync,性能最差,
但数据最安全。
everysec:每秒调用一次 fsync。兼具数据安全和性 能。
● no
● always
● everysec
everysec
appendonly 指定是否在每次更新操作 后进行日志记录,Redis在 默认情况下是异步的把数 据写入磁盘,如果不开 启,可能会在断电时导致 一段时间内的数据丢失。
有2个取值供选择:
yes:开启日志记录,即开 启持久化功能。
no:关闭日志记录,即关 闭持久化功能。
● yes
● no
yes
参数名 参数解释 取值范围 默认值
client-output- buffer-limit- slave-soft-seconds
主从同步缓冲区大小软限
制持续秒数。 0~60 60
client-output- buffer-slave-hard-limit
主从同步缓冲区大小硬限 制,单位字节。如果同步 缓冲区大小超过这个值,
则主从同步连接立即断 开。
0~17,179,869,1 84
1,717,986,918
client-output- buffer-slave-soft-limit
主从同步缓冲区大小软限 制,单位字节。如果同步 缓冲区大小超过这个值达 到client-output-buffer-limit-slave-soft-seconds 参数配置的秒数,则主从 同步连接断开。
0~17,179,869,1 84
1,717,986,918
maxmemory-policy 内存使用达到上限时,对 缓存数据的逐出策略。
参数说明请参考https://
redis.io/topics/lru-cache。
● volatile-lru
● allkeys-lru
● volatile-random
● allkeys-random
● volatile-ttl
● noeviction
volatile-lru
说明如果是2020年7月之前 创建的Redis实例,且 没有修改过该参数,则 默认值为noeviction。
如果是2020年7月之后 创建的实例,默认值都 为volatile-lru。
lua-time-limit Lua脚本的最长执行时
间,单位为毫秒。 100~5,000 5,000
master-read-only 设置实例为只读状态。设
maxclients 最大同时连接的客户端个
数。 1,000~
10,000 10,000
proto-max-bulk-len Redis协议中的最大的请求
大小,单位为字节。 1,048,576~
536,870,912 536,870,912
repl-backlog-size 用于增量同步的复制积压
16,384~
1,073,741,82 4
1,048,576
参数名 参数解释 取值范围 默认值
repl-backlog-ttl 从节点断开后,主节点释 放复制积压缓冲区内存的 秒数。值为0时表示永不 释放复制积压缓冲区内 存。
0~604,800 3,600
repl-timeout 主从同步超时时间,单位
为秒。 30~3,600 60
hash-max-ziplist-entries 当hash表中记录数少于参 数值,使用ziplist编码格 式,节约内存。
1~10000 512
hash-max-ziplist-value 当hash表中各字段长度的 最大值小于参数值时,使 用ziplist编码格式,节约 内存。
1~10000 64
set-max-intset-entries 当一个集合仅包含字符串 且整形元素数量少于参数 值时,使用intset编码格 式,节约内存。
1~10000 512
zset-max-ziplist-entries 当有序集合中记录数少于 参数值,使用ziplist编码 格式,节约内存。
1~10000 128
zset-max-ziplist-value 当有序集合中各字段长度 的最大值小于参数值时,
使用ziplist编码格式,节 约内存。
1~10000 64
latency- monitor-threshold
延时监控的采样时间阈值
您可以通过LATENCY等命 令获取统计数据和配置、
执行采样监控。详情参考 Redis官网说明:https://
redis.io/topics/latency-monitor。
0~86400000
,单位:毫 秒。
0
参数名 参数解释 取值范围 默认值
notify- keyspace-events
键空间通知,配置该参数 后客户端可以通过Redis的 订阅与发布功能,来接收 那些以某种方式改动了 Redis数据集的事件。
可配置为以下 字符的任意组 合,指定了服 务器该发送哪 些类型的通 知:
K:键空间通 知,所有通知 以__keyspace@
__为前缀。
E:键事件通 知,所有通知 以__keyevent@
__为前缀。
g:DEL、
EXPIRE、
RENAME等类 型无关的通用 命令的通知。
$:字符串命 令的通知。
l:列表命令 的通知。
s:集合命令 的通知。
h:哈希命令 的通知。
z:有序集合 命令的通知。
x:过期事 件:每当有过 期键被删除时 发送。
e:驱逐(evict)事件:
每当有键因为 maxmemory 政策而被删除 时发送。
其他描述,请 参考表格下方 的说明。
Ex
参数名 参数解释 取值范围 默认值
slowlog-log-slower-than redis慢查询会记录超过指 定执行时间的命令。
slowlog-log-slower-than 用于配置记录到慢查询的 命令执行时间阈值,其以 微秒为单位。
0~1,000,000 10,000
slowlog-max-len 慢查询记录的条数。注意 慢查询记录会消耗额外的 内存。可以通过执行 SLOWLOG RESET命令清 除慢查询记录。
0~1,000 128
说明
1. 表7-1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/
memory-optimization。
2. latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,
建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。
3. notify-keyspace-events参数的其他描述:
– 有效值为[K|E|KE][A|g|l|s|h|z|x|e|$],即输入的参数中至少要有一个K或者E。
– A为“g$lshzxe”所有参数的集合别名。A与“g$lshzxe”中任意一个不能同时出现。
– 例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。若将参数设 为字符串"AKE"表示发送所有类型的通知。
表7-2 Memcached 缓存实例配置参数说明
参数名 参数解释 取值范围 默认值
timeout 客户端与服务端连接空闲超 时断开时间,参数设为0表示 连接永不断开。
0~7200,单位:秒。 0
maxclients 最大同时连接的客户端个
数。 1,000~10,000 10,000
maxmemor
y-policy 内存使用达到上限时对缓存 数据管理策略。
参数说明请参考https://
redis.io/topics/lru-cache。
volatile-lru allkeys-lru volatile-random allkeys-random volatile-ttl noeviction
noevictio n
reserved- memory-percent
预留给后台进程用于持久 化、主从同步等内部处理的 内存百分比(相对于最大可 用内存的百分比)。
0-80 30
步骤8 单击“保存”。
步骤9 在弹出的修改确认对话框中,单击“是”,确认修改参数。
----结束