redis延迟问题

【字号: 日期:2022-09-04浏览:40作者:雯心

问题描述

redis 请求慢

time redis-cli -h 127.0.0.1 -a 123456 pingPONGreal 0m2.314suser 0m0.000ssys 0m0.002s

不是每次都慢,大概5、6次操作中会出现一次超过秒。以下是redis信息

used_memory:3646312used_memory_human:3.48Mused_memory_rss:10051584used_memory_peak:4901784used_memory_peak_human:4.67Mused_memory_lua:31744mem_fragmentation_ratio:2.76mem_allocator:jemalloc-3.2.0# Clientsconnected_clients:1client_longest_output_list:0client_biggest_input_buf:0blocked_clients:0

开启redis的错误日志,但是没有发现有执行慢的命令。服务器信息

top - 12:28:07 up 18:18, 6 users, load average: 2.24, 2.17, 2.30Tasks: 236 total, 1 running, 235 sleeping, 0 stopped, 0 zombieCpu(s): 1.0%us, 1.4%sy, 0.0%ni, 87.6%id, 10.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 8058088k total, 2601592k used, 5456496k free, 731772k buffersSwap: 16777212k total, 0k used, 16777212k free, 621424k cached

这台服务器是测试机,公司人员也不多,请求量不会大。服务器tcp连接数维持在100以下。

问题解答

回答1:

client设置timeout,默认不设置好像出现的概率比较大,如果使用pool设置timeout=0都可以解决此类问题。

回答2:

开monitor看一下,检查一下每个命令的进入和返回时间。如果都正常,需要考虑是否网络传输延迟

回答3:

使用latency测试网络延迟redis-cli --latency -h host -p port

回答4:

我估计是网络传输延迟。redis出问题的可能很小。

相关文章: