据我了解,延迟是指一个磁盘请求发送到磁盘控制器中的缓冲区,然后发送到 CPU(或者是内存?)所需的时间。
吞吐量是指在固定时间内您可以处理多少个请求......
那么延迟降低时吞吐量增加不是更有意义吗?为什么某些磁盘供应商会吹嘘他们的吞吐量比其他供应商高,而其他供应商则强调他们的延迟?为什么不只选择一个标准来衡量呢?
答案1
延迟是任何类型的过程所涉及的时间,通常是某种形式的通信。
吞吐量是指任何给定系统可以处理的信息量,通常根据设定的时间增量来测量。
高延迟并不一定意味着低吞吐量,反之亦然。我们可以使用几个例子来说明这一点:
例如,在互联网连接中,延迟通常以请求从您的计算机到达给定服务器所需的时间来衡量。使用有线或 DSL 时,这个数字往往相对较低。使用卫星时,这个数字往往非常非常高。同一连接的吞吐量以 Mbps 或兆比特每秒为单位。即使延迟数字不同,这些不同连接的吞吐量数字可能非常相似。例如,卫星互联网往往具有相当大的带宽。它们将在短时间内从卫星向您传输大量信息。从您的计算机到服务器,再到卫星,再回到您身边需要很长时间。
另一种思考方式是,一辆旅行车以 55 英里/小时的速度在高速公路上行驶(我祖母开的车),车上装满了 SD 存储卡或 USB 记忆棒。更准确地说,有数十万个。这辆旅行车的吞吐量非常高。想想看:这辆旅行车里可能有超过几百 PB 的数据。因此,即使从芝加哥到萨克拉门托的行程延迟可能是整整 3 天(25 小时左右的车程),这 25 小时除以几百 PB 仍然比任何金钱可以买到的互联网连接快得多。
延迟和吞吐量不一定相关的原因是数据密度。这不只是信息传输速度的问题。更重要的是每次传输的信息量。
答案2
为什么延迟降低后吞吐量就会上升?通过 56Kbps 调制解调器在全国范围内发送文件延迟非常低 —— 每个字节在发送后不到一秒内就会发出。但通过联邦快递运送一盒 DVD 的吞吐量要高得多。
供应商强调他们认为什么能让他们看起来最好。但没有单一标准的一个主要原因是不同的工作负载有不同的要求。有些工作负载主要关心顺序性能(如 Web 服务器),有些主要关心随机访问性能(如媒体服务器)。有些工作负载(如 Web 服务器)主要是读取,并不特别关心写入性能。有些工作负载(如备份)主要是写入,并不特别关心读取性能。
答案3
假设我们有两条线路 A 和 B,带宽相同,但 A 的延迟非常高,而 B 的延迟非常低。如果我们传输一个大文件,并且每条线路的错误率相同且固定(每传输 m 个字节出现 n 个错误)> 0,则 B 的传输时间将比 A 更快,因为线路 A 会消耗更多时间,因为两端的节点/主机/机器会等待来自另一端的回复/数据包。
因此,如果您将吞吐量定义为按时间单位传输的正确/成功/验证的字节数,则在其他所有参数相同的情况下,较低的延迟将产生更高的吞吐量。