我想测量从发出Redis unordered_map
命令到服务器实际提交密钥所经过的时间。
有没有办法测量?
答案 0 :(得分:0)
INFO命令将列出您要查找的统计信息,特别是命令 INFO Stats 获得了 instantaneous_ops_per_sec ,这是redis在最后一秒处理的命令数。
这将帮助您估计Redis Instance花费的时间。
答案 1 :(得分:0)
处理命令有很多部分。首先,您通过网络将其从客户端发送到服务器,然后服务器上的TCP Worker读取客户端缓冲区,处理一条消息并将其放入命令队列,然后最终Redis主循环从队列中弹出命令,对其进行处理(当此部分结束时,将提交密钥),然后将答案写入客户端缓冲区,然后最终TCP工作者发现已经准备好答案,并通过电线将其发送给客户端。在99%的情况下,大部分时间都是通过电汇发送。
您建议的度量标准-从发出命令到提交密钥是很难衡量的,仅因为这些事件发生在不同的方面。但更重要的是,您不必测量它。在此类系统中衡量的两个主要指标是:
如果出于某种原因坚持测量,则可以执行以下操作:
long start = System.nanoTime();
)eval "redis.call('set','my_key','3,1415') return redis.call('time')" 0