《Redis7平台技术配置解析.docx》由会员分享,可在线阅读,更多相关《Redis7平台技术配置解析.docx(13页珍藏版)》请在第一文库网上搜索。
1、Redis7平台技术配置解析【导读】RediS7有很多新的功能、bug修改、特性优化,因此也伴随着很多新配置和变化,本文进行逐一说明。一、简述Redis7有很多新的功能、bug修改、特性优化,因此也伴随着很多新配置和变化,本文进行逐一说明。二、配置详解1.1appenddirname(#9788)书认:appendon1ydir,动态修改:no(1)配置说明:定义存储aof文件的目录名,它和配置CIir组成绝对目录。(2)推荐配置:和部署目录相关:决定是端口号或者默认值。1.2aof-timestamp-enab1ed(#9788)默认:no,动态修改:yes(1)配置说明:aof是否支持时间
2、戳.,如设置会变成:(2)推荐配置:结合现有体系决定。注:有关新的aof,会有单独文章说明。认值:10,动态修改:tru,(1)配置说明:当执行ShUtdOWn命令时,为S1aVe节点复制剩余OffSet的最大等待时间,一定程度上提高一致性。即果该配置为0,则该功能失效。在RediSCrOn内如果发现ShUtdown-timeout不等于0,则会等待相关SIaVe节点复制完毕。相关函数过长如感兴趣自行阅读。server.CcronIif(SerVer.mstime=ServenshutdownjnstimeisReadyTo(2)推荐配置:可根据自身写入、网络等等情况进行配置,个人认为默认值基
3、本0K。3. maxmemory-cIients(#8687)(1)前情回顾(7.O之前)(a)对单个客户端输出缓冲区限制:ICIient-output-buffI1inIitnorma1Is1avepubsubhard1imitSort1inIitSeCendS1(b)对单个客户端的输入缓冲区,之前固定为Igb,在4.0之后改为可配置31ient-query-bufferTimit1gb(2)配置说明:给所有CIientS加了最大内存的限制,当超过该限制后,RediS将会按照一定策略杀掉问题客户端,称为C1ientevictiono有两种配置方式:(a)具体值piaxmemory-c1ien
4、tsIg1(b)百分比:为maxmemory配置的XX%pnaxmemory-c1ients1%(3)推荐配置:如果整机部署密度较高,建议配置一定百分比,但会有客户端被干掉的风险。4. rep1-disk1ess-sync-ma-rep1icas(#10092)(1)配置说明:无盘复制下,rep1-disk1ess-sync-de1ay保证串行,rep1-disk1ess-sync-ma-rep1icas是在rep1-disk1ess-sync-de1ay内的并行个数O(2)推荐配置:可根据从节点个数,机器部署密度等情况设置。ps:通常都是一主一从,不需要该配置。5. Iist-ma-1ist
5、pack-,hash-max-1istpack-,zset-ma-1istpack-*(#8887,#9366,#9740)IhaSh-maxTistpack-entries512IhaSh-maxTistpack-VaIUe1ist-axTistpack-sizeIzse1maxTistpacbentries128IZSe1n1aX-IiSIPaCk-Va1Ue64(1)配置说明:RediS7中ZiPIiSt被1istpack替代,所以相关配置都变为IiStPack,有关IiStPaCk会有单独文章说明。(2)推荐配置:建议结合单核CPU使用量、数据量等综合评估成本收益、性能、可用性。6.
6、busy-rep1y-thresho1d(#9963)认:5000,动态修改:yes,设置为0关闭该功能(1)配置说明:IuaTinieTimit的别名,分别服务于1ua、function、modu1e的一些特殊命令(2)推荐配置:谨慎设置,超时后RediS只允许一些特殊命令(如下),其他命令均返回aBUSYerror.ISCR1PTKI11,FUNCT1oNKI11,SHUTDOwNNoSAVEandPoSSibIySomt7.1 1atency-tracking(#9462)认:yes,动态修改:yes(1)配置说明:是否开启命令1atency追踪(2)推荐配置:开启7.2 1atency
7、-tracking-info-percenti1es(#9462)默认:509999.9,动态修改:yes(1)配置说明:对应p50(中位数)、P99、p99.9每个命令的耗时,例如:infOIatencystat11ancDeenJeise1ow1oge?50=615j599=3079j399=3441atenceenHese1750=2399=92399=923H11anceenJeseonfie)50=176999=176999=1IIatency_percenti1es_usec_config|rewrite:p50=1015.807,p99=1015.807,p99|1atency_
8、PerCenti1es_uSejSUbSCribe:p50=3.007,p99二4.015,p99.9=4.015I1atenCyPerCenIi1eS_usec_command:p50=1310.719,p99=1310.719,p99.9=1310719|1.atency_percenti1.es_usec_c1.ientsetname:p50=O.001,p99二2.007,p99.9=2.11anc)eenesexpj)50=00399=61599=209Sancercenesengep50=207j)99=41599=HIIatency_percenti1es_usec_type:p
9、50=1.003,p99=5.023,p99.9二(2)推荐配置:可以自行调配8. c1uster-port(#9389)认:0,动态修改:no,范围0”65535(1)配置说明:redisC1USter默认的通信(bus)端口=port+10000,该值可以动态设置指定端口,例如IPOrt=6379CIUSte1POrt=Obus-POrt=16379port=6380C1USte1Port=5000bus-POrt=z5)ort=6381C1USte1POrt=15000bus-port=15000(2)推荐配置:如不是强烈需要,否则不要设置,会增加复杂性。9. bind-source-a
10、ddr(#9142)默认:动态修改:yes(1)配置说明:指定了redis作为客户端时,建立连接时指定源ip地址。包括: 主从链接中,从节点链接到主节点建立连接时的源ip地址 SentirIe1链接所有实例时,建立连接时的源ip地址 CIUSter模式中,建立到其他节点的通信连接时的源ip地址(2)推荐配置:如果有多个ip地址,并且有将正常请求和redis内部请求分开的需求时,可以使用此配置;否则,不建议设置。10.1c1uster-preferred-endpoint-type(#9530)认:ip,动态修改:yes,有三个值:ip、hostname、UnknoWn-endpoint(1)配
11、置说明:7.OBredisCIUSter除了支持ip,还支持了hostname0(2)推荐配置:有强需求可以使用。10. 2c1uster-announce-hostname(#9530)认:空,动态修改:yes(1)配置说明:如果c1uster-preferred-endpoint-type设置为hostname,那c1uster-announce-hostname就是具体的值O(2)推荐配置:有强需求可以使用。11. c1uster-a11ow-pubsubshard-when-down(#8621)默认:yes,动态修改:yes(1)配置说明:当redisc1uster处于downsta
12、te时,是否可以继续使用shardpubsubo(2)推荐配置:保持默认值,但是不建议在集群版用这个功能,单独部署一个redissentine1做pubsub会更好。12. c1uster-1ink-sendbuf-1imit(#9774)默认:0(表示无穷大),动态修改:yes(1)配置说明:针对redisc1uster中每一个C1USterbus1inkssendbuffer容量进行限制,超过这个限制会被“干掉”。相关查看命令:c1uster1inks相关统计infomemory中的mem_c1uster_1inks是1ink的总内存(2)推荐配置:建议配置一个合理值,因为正常情况下每个I
13、ink的内存量不会很大。13. enab1e-protected-configs(#9920)默认:no,动态修改:no(1)配置说明:设置是否允许对保护的配置进行动态配置;目前主要包括: dbfiIename dir(2)推荐配置:推荐默认设置即可。14. enab1e-debug-conand(#9920)片认:no,动态修改:no(1)配置说明:为了安全考虑,禁止掉debug命令,且不能动态修改(2)推荐配置:debug命令在一些场景很有帮助,但对安全性有一些影响,需要综合评价,一定注意此配置不可以动态修改。15. enab1e-modu1e-command(#9920)默认:no,动态
14、修改:no(1)配置说明:为了安全考虑,禁止掉modu1e命令,且不能动态修改(2)推荐配置:是否需要modu1e来决定16. 1oading-process-events-interva1-bytes默认:2MB,动态修改:yes(1)配置说明:maximumsing1ereadorwritechunksize(2)推荐配置:如无特殊,默认即可。三、默认值变化1 .modu1e和debug因为安全考虑,默认被禁止,且不能动态修改,这个一定注意。(#9920)2 .无盘复制作为默认选项,这个一定注意。(#10092)四、总结随着一些新功能的加入,Redis也添加了很多新配置,例如appenddirnameXmaxmemory-c1ients1atency-*,IiStPaCk相关等,同时有一些默认值也发生变化(默认禁止modu1e和debug、默认开启无盘复制)-全文完-