kafka读写高效的总结

2021-04-21  本文已影响0人  瓢鳍小虾虎

写入:

  1. 顺序写,性能要远远优于散列写
  2. 使用了操作系统的page cache

读取:

  1. 顺序读,kafka的数据本身就是顺序存储的,又因为page cache读数据的时候使用的是预读机制,和kafka读取的数据顺序完全契合,保证了高命中率,读取自然高效。

预读机制,page cache读取数据的时候,不会一下子把目标文件全量加载到内存中,会先加载一部分,然后后面再多加载一些,如果下一次读取正好是多加载这些内容,则称为“命中”,于是page cache会依次再从磁盘读取后面的数据,kafka的读取相当于从缓存顺序读取。这样即节约内存,又达到了高效读取。

  1. 零copy,kafka内部使用了大量的netty的api,这里零copy是指kafka读取数据不经过jvm,直接从操作系统page cache读取再发送给网卡。
上一篇下一篇

猜你喜欢

热点阅读