gpt4 book ai didi

redis - 试图了解 Redis ping 延迟测试与 Ping 命令延迟测试

转载 作者:可可西里 更新时间:2023-11-01 10:53:32 28 4
gpt4 key购买 nike

我正在尝试了解延迟与每秒可处理的最大请求数。

我对 RTT 的理解是消息到达目的地和确认返回源所花费的时间。所以我假设服务器每秒只能服务最大请求,不应超过给定秒内平均往返的总和。我的本地 ping 测试显示为

> ping 127.0.0.1 
rtt min/avg/max/mdev = 0.089/0.098/0.120/0.012 ms

仅网络往返平均需要 0.098 毫秒,这意味着 10 次 ping 请求/毫秒。所以我假设按顺序,客户端最多只能执行 10_000 个请求/秒。而事实证明我错了。 redis-benchmark 工具显示了一些不同的东西。

> redis-benchmark -t set -c 1 -h 127.0.0.1
====== SET ======
100000 requests completed in 2.53 seconds
1 parallel clients
3 bytes payload
keep alive: 1

100.00% <= 1 milliseconds
39588.28 requests per second

单个客户端能够执行 39 个请求/毫秒,而我期望最多 10 个请求/毫秒。

任何人都可以帮助我哪里出错或被误解了吗?

最佳答案

即使使用单个逻辑客户端线程,命令也可以流水线化,这意味着:您可以在第一个响应返回之前发送很多 请求。响应总是按请求顺序返回(除非您使用的是发布/订阅),因此流水线客户端只需要保留一个尚未看到响应的已发送消息队列,并在请求到达时将响应配对。

因此:您不受延迟的严格限制,尽管延迟仍然是一个有用的数字。原始吞吐量(受带宽和服务器容量限制)有意义,因为通常情况下您想要发出多个命令。

关于redis - 试图了解 Redis ping 延迟测试与 Ping 命令延迟测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49749642/

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