gpt4 book ai didi

redis - 每个连接的 Redis 服务的连接总数

转载 作者:可可西里 更新时间:2023-11-01 11:17:03 25 4
gpt4 key购买 nike

如何检查哪个服务在 Redis 上消耗了更多资源。

或者哪个服务在Redis上的连接数最多?

最佳答案

您可以输入命令“CLIENT LIST”,您将看到如下内容:

id=39 addr=127.0.0.1:34706 fd=7 name= age=141156 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
id=78 addr=127.0.0.1:58014 fd=5 name= age=63779 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=llen
id=80 addr=127.0.0.1:36826 fd=6 name= age=46776 idle=1685 flags=N db=1 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=del

对您的答案最有用的键是“age”&&“idle”,“age”表示连接的总持续时间(以秒为单位),“idle”表示此连接的空闲时间。所以 (age - idle)/age 反射(reflect)此客户端比其他客户端使用服务器的 cpu 更多,该值较小,但不是很精确

其他命令也可以给你一些建议,比如 "INFO"和 "MONITOR"。INFO 给你一个关于redis服务器的统计信息,比如内存使用,处理的命令,cpu使用,连接的客户端等等,你可以引用this获得更多。

“MONITOR”给你一个实时显示,它会告诉你现在发生了什么,正在执行什么命令,谁发送了这个命令。也许您可以计算 MONITOR 输出使用的每个客户端资源。

例如 对于每个命令,您首先对其进行解析并使用成本来添加客户端成本总和。在耗时计算中,SET是O(1),Lrange是O(N)。但这也很难做到非常精确。但是您可以使用以下命令记录它:

 redis-cli monitor > redis-command.log

您可以使用此日志进行一些分析。但请注意 MONITOR 命令会降低您的 Redis 服务器吞吐量,检查 this

关于redis - 每个连接的 Redis 服务的连接总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45188302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com