Redis缓存慢日志查询:Azure Portal执行SLOWLOG 10的方法问询
Azure Cache for Redis 慢查询排查及超时问题处理
一、核心需求
- 执行Redis命令
SLOWLOG 10排查耗时较长的操作 - 确认是否可在Azure门户中执行该命令,及所需工具说明
- 明确在Azure Cache for Redis中执行命令的具体位置
二、超时错误信息
等待响应超时(出站=0KiB,入站=1720KiB,已耗时6016ms,超时阈值为5000ms),命令=SETEX,下一条命令: SETEX data:list:8756789:020250107_09_30_00:S00,实例: 0,队列: 0,队列大小: 0,等待中: 否,带宽状态: SpinningDown,读取状态: ReadAsync,写入状态: 空闲,入站字节数: 86,上次入站: 11688,当前入站: 0,同步操作数: 0,异步操作数: 121831,服务器端点: xxxxx,连接时长: 74643,13,异步连接数: 0,连接池: 1/1/0,管理器: 10个可用连接(共10个),客户端名称: xxxxxx(Redis-v2.8.0.27420),IOCP: (忙碌=6,空闲=994,最小=4,最大=1000),WORKER: (忙碌=16,空闲=32751,最小=4,最大=32767),线程池: (线程数=34,排队任务=4,已完成任务=7022584,计时器=156),版本: 2.8.0.27420 等待响应超时(出站=3588KiB,入站=499KiB,已耗时5438ms,超时阈值为5000ms),命令=EXISTS,下一条命令: GET data:list:2345876:020241220_14_00_00:S00,实例: 0,队列: 0,队列大小: 0,等待中: 否,带宽状态: SpinningDown,读取状态: ReadAsync,写入状态: 空闲,入站字节数: 54330,上次入站: 1880304,当前入站: 1793806,同步操作数: 0,异步操作数: 128364,服务器端点: xxxx,连接时长: 76871,54,异步连接数: 0,连接池: 1/1/0,管理器: 10个可用连接(共10个),客户端名称: xxxxx(Redis-v2.8.0.27420),IOCP: (忙碌=4,空闲=996,最小=4,最大=1000),WORKER: (忙碌=15,空闲=32752,最小=4,最大=32767),线程池: (线程数=59,排队任务=6,已完成任务=7238691,计时器=154),版本: 2.8.0.27420
三、问题解答
1. SLOWLOG 10执行方式及Azure门户支持情况
- Azure门户直接执行:无需第三方工具,进入Azure Cache for Redis实例的门户页面,在左侧导航栏的「操作」分类下找到「控制台(Console)」,在控制台输入框中输入
SLOWLOG 10即可执行,查看最近10条慢查询记录。 - 第三方工具备选:如果需要更灵活的分析,可使用Redis CLI、Redis Desktop Manager等工具,通过实例的连接字符串连接后执行该命令。
2. 超时错误初步分析
从日志可见,SETEX和EXISTS命令均超过5000ms超时阈值,可关注以下几点:
- 异步操作数(async-ops)偏高,说明客户端发起大量异步请求,可能增加服务器处理压力
- WORKER线程忙碌数接近最小阈值,需检查客户端侧线程资源是否充足
SLOWLOG日志将定位具体耗时过长的命令,是排查这类超时问题的核心步骤
内容的提问来源于stack exchange,提问作者user2432361
相关产品推荐
相关产品推荐

