面试题答案
一键面试慢查询时间阈值
- 含义:慢查询时间阈值是指Redis执行一个命令的时间超过该设定值时,此命令将被记录到慢查询日志中。通过
slowlog-log-slower-than
配置项设置,单位为微秒(μs)。例如,设置为10000(10毫秒),表示执行时间超过10毫秒的命令会被记录。 - 对可靠性影响:
- 设置过小:会记录大量正常查询,导致慢查询日志增长过快,占用过多内存空间,可能影响Redis性能,同时使得真正需要关注的慢查询被大量无关记录淹没,降低排查问题效率,影响可靠性。
- 设置过大:只有执行时间极长的命令才会被记录,可能遗漏部分虽然未达到极端慢但已影响业务性能的查询,无法全面反映系统性能问题,也不利于可靠性保障。
日志记录条数限制
- 含义:通过
slowlog-max-len
配置项设置慢查询日志记录的最大条数。当慢查询日志达到此上限时,新的慢查询记录会覆盖最早的记录。 - 对可靠性影响:
- 设置过小:日志保存的历史记录有限,当系统出现问题回溯时,无法获取足够的慢查询信息来分析问题根源,影响可靠性。
- 设置过大:会占用较多内存空间,尤其在高并发且慢查询较多场景下,可能导致Redis内存紧张,影响整体性能,从而间接影响可靠性。合理设置该值,能在保存足够多慢查询记录用于分析问题和控制内存占用之间取得平衡,保障可靠性。