MST

星途 面试题库

面试题:Redis旧版复制功能中主要涉及哪些配置参数及如何初步调优?

在Redis旧版复制功能里,列举至少3个关键的配置参数,并简要说明它们的作用以及在常见场景下如何进行初步的调优以提升复制性能。
23.5万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试
  • repl-backlog-size
    • 作用:主服务器用于保存复制积压缓冲区的大小。从服务器断开重连后,若其偏移量仍在积压缓冲区范围内,主服务器可直接从缓冲区中获取数据继续同步,避免全量复制。
    • 调优:常见场景下,若网络不稳定导致从服务器频繁重连,可适当增大该值。一般根据主服务器写命令量预估,若每秒写命令产生的内存增量为 x 字节,且希望能支持 t 秒内重连的部分同步,repl-backlog-size 可设置为 x * t。例如,每秒写命令产生10KB数据,希望支持60秒内重连的部分同步,则可设为 10KB * 60 = 600KB。但也不能设置过大,以免占用过多内存。
  • repl-timeout
    • 作用:设置主从服务器之间连接的超时时间。若主从服务器在该时间内未进行有效通信,则判定连接超时。
    • 调优:在网络延迟较高但较为稳定的场景,可适当增大该值,防止误判连接超时。如网络延迟平均为100ms,可适当设置为300 - 500ms,具体需根据实际网络波动情况调整,避免设置过大导致故障时不能及时发现。
  • slave-priority
    • 作用:设置从服务器的优先级,当主服务器出现故障进行故障转移时,Redis Sentinel 会优先选择优先级高的从服务器晋升为主服务器。该值越低优先级越高,默认值为100。
    • 调优:在有性能差异的从服务器集群场景中,可将性能好的从服务器 slave-priority 设置为较低值,如50,使它在故障转移时更易被选为新主服务器,以保障整体性能。但要注意多台从服务器优先级不能设置过低且相同,避免故障转移时产生混乱。