首页 > 解决方案 > 旧数据的顺序 I/O 性能

问题描述

我正在学习顺序 I/O 和 kafka 的总体工作方式。根据我的理解 - 所有数据按顺序写入硬盘(作为日志),因此 - 硬盘臂总是靠近实际数据,它不必移动很多(因为我们有小/没有寻道时间,与写时间相同)。

但是,如果我们在 HDD 中有很多 kafka 数据(具有最大允许保留策略)并且新的消费者组开始获取这些数据怎么办:据我所知 - 新的消费者组将从 0 偏移量开始读取数据,而这个 0 偏移量可以在与硬盘完全相反的一侧(随着时间的推移 - 硬盘臂将缓慢移动)。因此,在这种情况下,HDD arm 必须每次来回走动,因为旧消费者将读取实际数据,而新消费者组将读取旧数据。它不会导致相反的效果,因此顺序 I/O 会减慢整个集群(至少,直到新的消费者组读取所有数据)?

标签: apache-kafkaoffsetsequentialhard-drive

解决方案


推荐阅读