问题描述
使用Azure Redis,是否可以开启慢日志来查看最近时间中执行比较耗时的指令呢? 同时,如何执行Redis的Config只能来修改配置呢?
根本原因
一:Azure Reids通过Redis-cli或者是门户中的Console连接成功后。可以查看到此时的慢日志(slowlog), 但是没有办法查看过去时间的慢日志。
长时间运行的命令
某些 Redis 命令的执行开销比其他命令高。 Redis 命令文档介绍了每个命令的时间复杂性。 由于 Redis 命令处理是单线程的,因此需要时间运行的命令将阻塞其后的所有其他命令。 你应该查看正在向 Redis 服务器发出的命令,以了解它们对性能的影响。 例如,我们经常使用 KEYS 命令,但事先并不知道它是一个 O(N) 操作。 可以使用 SCAN 来避免 KEYS,以降低 CPU 峰值。
使用 SLOWLOG 命令可以测量正在对服务器执行的命令的开销。
二:Azure Redis禁止使用config命令。只能通过门户上的Advance Settings来配置Redis的一些设置。
参考资料
Redis slow log overview:https://redis.io/commands/slowlog
Redis CONFIG :https://redis.io/commands/config-get
排查 Azure Cache for Redis 服务器端问题:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-troubleshoot-server#long-running-commands