修改实例配置参数
为了确保分布式缓存服务发挥出最优性能,您可以根据自己的业务情况对DCS缓存实例的运行参数进行调整。
例如,需要将实例持久化功能关闭,则需要将“appendonly”修改为“no”。
实例配置参数修改之后,参数会立即生效(不需要手动重启实例),如果是集群,会在所有分片生效。
操作步骤
- 登录分布式缓存服务管理控制台。
- 在管理控制台左上角单击 ,选择区域和项目。 ,选择区域和项目。
- 单击左侧菜单栏的“缓存管理”。
- 在“缓存管理”页面,单击DCS缓存实例的名称。
- 单击“配置参数”页签进入配置界面。
- 单击“修改”。
- 根据需要修改配置参数。
    
    各参数的详细介绍见表1和表2,一般情况下,按照系统默认值设置参数即可。 表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,184 1,717,986,918 client-output-buffer-slave-soft-limit 主从同步缓冲区大小软限制,单位字节。如果同步缓冲区大小超过这个值达到client-output-buffer-limit-slave-soft-seconds参数配置的秒数,则主从同步连接断开。 0~17,179,869,184 1,717,986,918 maxmemory-policy 内存使用达到上限时对缓存数据管理策略。 volatile-lru allkeys-lru volatile-random allkeys-random volatile-ttl noeviction noeviction lua-time-limit Lua脚本的最长执行时间,单位为毫秒。 5,000 100~5,000 master-read-only 设置实例为只读状态。设置只读后,所有写入命令将返回失败。 - yes
- no
 no 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,824 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 延时监控的采样时间阈值(最小值)。 当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。 您可以通过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 Reids慢日志会记录超过指定执行时间的命令。slowlog-log-slower-than用于配置记录到慢日志的命令执行时间阈值,其以微秒为单位。 0~1,000,000 10,000 slowlog-max-len 慢日志记录的条数。注意慢日志记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢日志记录。 0~1,000 128   - 表1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。
- latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。
- notify-keyspace-events参数的其他描述:
        - 有效值为[K|E|KE][A|g|l|s|h|z|x|e|$],即输入的参数中至少要有一个K或者E。
- A为“g$lshzxe”所有参数的集合别名。A与“g$lshzxe”中任意一个不能同时出现。
- 例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。若将参数设为字符串"AKE"表示发送所有类型的通知。
 
 表2 Memcached缓存实例配置参数说明 参数名 参数解释 取值范围 默认值 timeout 客户端与服务端连接空闲超时断开时间,参数设为0表示连接永不断开。 0~7200,单位:秒。 0 maxclients 最大同时连接的客户端个数。 1,000~10,000 10,000 maxmemory-policy 内存使用达到上限时对缓存数据管理策略。 volatile-lru allkeys-lru volatile-random allkeys-random volatile-ttl noeviction noeviction reserved-memory-percent 预留给后台进程用于持久化、主从同步等内部处理的内存百分比(相对于最大可用内存的百分比)。 0-80 30 
- 单击“保存”。
- 在弹出的修改确认对话框中,单击“是”,确认修改参数。
 
    