玩转Kafka—Kafka高性能原因分析

简介: 玩转Kafka—Kafka高性能原因分析

玩转Kafka—Kafka高性能原因分析

Kafka最大的特点:高吞吐,即使在普通的机械硬盘下也可以达到每秒几百万的处理量

对比RocketMQ:

那么Kafka为什么能实现如此高的吞吐量呢?

主要以下四个方面:

  • 磁盘的顺序读写
  • 页缓存
  • 零拷贝技术
  • 批量处理

下面我们来分别解释下

1 磁盘的顺序读写

图片来自《The Pathologies of Big Data》

由上到下三个橙色的进度条分别表示机械硬盘、固态硬盘和内容的随机访问速度

由上到下三个橙色的进度条分别表示机械硬盘、固态硬盘和内容的顺序访问速度

可见,在顺序读写下无论是固态硬盘还是机械硬盘都是和内存差不多的。

2 页缓存

操作系统本身的页缓存(Page Cache),存储紧凑的数据

想要了解页缓存,就必须先要了解什么是“页”,这个在操作系统课程中有比较多的涉及。

页是操作系统存储的一个基本单位,在分页式的存储中,分页存储管理将进程的逻辑地址空间分成若干个页,并为各页加以编号,从0开始。把内存的物理空间分成若干个块,同样加以编号从0开始。为进程分配内存时,以块为单位,将进程的若干个页分别装入到多个可以不相邻接的物理块中。由于进程最后一页通常装不满一块,则剩余页面叫做“页内碎片”。

页面大小: 页面大小应选择适中,并且应该是2的N次幂,通常为1KB~8KB

页缓存是一个相对独立的概念,其根本目的是为了加速对后端设备的IO效率,比如文件的读写。

3 零拷贝技术

借鉴了Linux操作系统下的零拷贝技术,在页缓存和Socket缓冲区之间进行切换,而避免了用户态到内核态之前的切换。

那么,什么是用户态和内核态

  • 用户态:指非特权状态。在此状态下,执行的代码被硬件限定,不能进行某些操作,比如写入其他进程的存储空间,以防止给操作系统带来安全隐患。
  • 内核态:操作系统内核所运行的模式,运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问。

用户态与内核态之间的切换

  • 系统调用
  • 异常:当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常。
  • 外围设备的中断:当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序

非零拷贝

零拷贝

零拷贝:避免用户态和内核态之间的拷贝

4 批量处理

高效利用网络带宽,批量压缩和处理

相关文章
|
21天前
|
消息中间件 存储 网络协议
【Kafka】Kafka 性能高的原因分析
【4月更文挑战第5天】【Kafka】Kafka 性能高的原因分析
|
21天前
|
消息中间件 存储 Java
【Kafka】Kafka 组件分析
【4月更文挑战第5天】【Kafka】Kafka 组件分析
|
21天前
|
消息中间件 存储 Kafka
【Kafka】Kafka 架构设计分析
【4月更文挑战第5天】【Kafka】kafka 架构设计分析
|
21天前
|
消息中间件 大数据 Kafka
【Kafka】kafka 发展历史分析
【4月更文挑战第5天】【Kafka】kafka 发展历史分析
|
21天前
|
消息中间件 存储 Kafka
【Kafka】Kafka 概述分析
【4月更文挑战第5天】【Kafka】Kafka 概述分析
【Kafka】Kafka 概述分析
|
21天前
|
消息中间件 存储 负载均衡
kafka底层原理分析
kafka底层原理分析
39 2
|
21天前
|
消息中间件 存储 Kafka
【Kafka】Replica、Leader 和 Follower 三者的概念分析
【4月更文挑战第11天】【Kafka】Replica、Leader 和 Follower 三者的概念分析
|
21天前
|
消息中间件 存储 负载均衡
【Kafka】Kafka 的分区分配策略分析
【4月更文挑战第7天】【Kafka】Kafka 的分区分配策略分析
|
21天前
|
消息中间件 监控 Java
✈️【Kafka技术专题】「核心原理篇」深入实战探索Kafka的Broker的原理及可靠性机制分析
✈️【Kafka技术专题】「核心原理篇」深入实战探索Kafka的Broker的原理及可靠性机制分析
50 0
|
21天前
|
消息中间件 Java Kafka
【Kafka】Kafka-Server-start.sh 启动脚本分析(Ver 2.7.2)
【Kafka】Kafka-Server-start.sh 启动脚本分析(Ver 2.7.2)
47 0

热门文章

最新文章