使用 Redis-Cli 了解延迟

Understanding latency using Redis-Cli

我正在使用 redis-cli 工具来观察 redis 服务器延迟。这是一个例子:

ubuntu:~$ redis-cli --latency -h 127.0.0.1 -p 6379
min: 0, max: 15, avg: 0.12 (2839 samples)

问题是,这些值究竟意味着什么?除了通过该工具自己的帮助文档提供的内容之外,我正在努力寻找关于此的文档。

redis-cli --latency -h -p 命令是一种工具,可帮助解决和了解您在使用 Redis 时可能遇到的延迟问题。它通过测量 Redis 服务器响应 Redis PING 命令的时间(以毫秒为单位)来实现。

In this context latency is the maximum delay between the time a client issues a command and the time the reply to the command is received by the client. Usually Redis processing time is extremely low, in the sub microsecond range, but there are certain conditions leading to higher latency figures.

-- Redis latency problems troubleshooting

所以当我们 运行 命令 redis-cli --latency -h 127.0.0.1 -p 6379 Redis 进入一种特殊模式,在该模式下它连续采样延迟(通过 运行 PING)。

现在让我们分解一下数据 returns:min: 0, max: 15, avg: 0.12 (2839 samples)

What's (2839 samples)? 这是redis-cli 记录发出PING 命令并收到响应的次数。换句话说,这是您的示例数据。在我们的示例中,我们记录了 2839 个请求和响应。

什么是 min: 0 min 值表示 CLI 发出 PING 和回复的时间之间的最小延迟已收到。换句话说,这是我们采样数据中的绝对最佳响应时间。

什么是max: 15 max值与min相反。它表示 CLI 发出时间 PING 和收到命令回复时间之间的最大延迟。这是我们采样数据中最长的响应时间。在我们的 2839 个样本示例中,最长的 t运行saction 花费了 15ms.

什么是avg: 0.12 avg 值是我们所有采样数据的平均响应时间(以毫秒为单位)。所以平均而言,从我们的 2839 个样本中,响应时间花费 0.12ms.

基本上,minmaxavg 的数字越大越好。

关于如何使用此数据的一些很好的跟进 material:

--latency 开关将 redis-cli 置于一种特殊模式,旨在帮助您测量客户端和 Redis 服务器之间的延迟。在该节点中 运行 期间,redis-cli ping(使用 Redis PING 命令)服务器并跟踪它获得的 average/minimum/maximum 响应时间(以毫秒为单位)。

这是一个很有用的工具,可以在您使用远程 Redis 服务器时排除网络问题。