知识卡片

消息传输的固定开销会成为吞吐量的隐性天花板

普通读书笔记卡 · 1810.f

内容

Tandem系统增加硬件时吞吐量能接近线性扩展,但消息系统有绕不开的固定开销:哪怕不带数据,单条消息也要花2毫秒传完。这叠加到连续磁盘I/O上会导致下次请求要等磁盘转一圈才能发出,逐块读取2KB数据的程序吞吐量被限制在每秒120KB左右。整体架构可线性扩展和单次操作延迟可忽略是两件独立的事,前者良好不代表后者不会成瓶颈。

参考来源

- 位置:《架构之美》第8章《Guardian:一个容错操作系统环境》8.11.1节《性能》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0191.xhtml) - 结论依据:原文明确"没有附加数据的单个消息需要花2毫秒来传输……对一个磁盘文件的连续I/O请求之间的延迟如此长,以致它们直到数据传输到了磁盘头才会发生,这意味着磁盘每转一周才能满足一个请求……将只能获得120KB/s的吞吐量"。 - 原始内容:没有附加数据的单个消息需要花2毫秒来传输……一个从磁盘中连续读取2KB数据并进行处理的程序(例如,类似于grep)将只能获得120KB/s的吞吐量。