美文网首页
Kafka Compression

Kafka Compression

作者: 白奕新 | 来源:发表于2019-11-20 17:15 被阅读0次
prepare.png
  • 使用kafka-producer-perf-test.sh脚本依次为4个topic发送60,000,000条消息,每条消息1KB大小。
  • ZStandard是Kafka v2.1.0新支持的压缩算法。

1、producer端

(1)CPU使用率


producer端CPU使用率.png

结论:snappy的cpu使用率最高,其他都差不多
(2)producer端TPS


producer端TPS.png

结论:LZ4的吞吐量最高,ZStandard是LZ4的1/3

2、broker端

磁盘使用率


磁盘使用率.png

磁盘使用率与压缩比成反比。ZStandard的压缩比最高,LZ4的压缩比也不错排第二

3、consumer端

(1)CPU使用率


CPU使用率.png

结论:几种压缩算法的cpu消耗都基本一致
(2)consumer的吞吐量


consumer的吞吐量.png

结论:LZ4的吞吐量最高

4、conclusion

  • 4种算法在生产者以及消费者的CPU消耗都差不多。
  • LZ4能取得最好的吞吐量以及相对不错的压缩比,为ZStandard的1/2。
  • 为什么LZ4在对比Snappy以及GZIP有高压缩率的时候还能保持高TPS?在实现高压缩率的时候需要耗费更多的时间以及更高的cpu使用率,但是TPS又是由压缩时间+传输时间决定的。当压缩时间耗费多带来的数据量更小的情况下使得传输时间大大降低,所以总的发送耗时反倒更短,TPS更高。
  • ZStandard能有最高的压缩比,所以有最低的带宽以及磁盘使用量,但是吞吐量一般,为LZ4的1/3~1/4。
  • 如果要追求低带宽以及低磁盘存储量,使用ZStandard,否则使用LZ4是个最好的选择。其他两种压缩算法不考虑。

5、process

  1. kafka producer将数据按照批次进行压缩(同一个topic的同一个partition)
  2. broker直接将压缩的日志储存
  3. kafka consumer自动将日志解压缩
  4. 压缩文件与非压缩文件可以同时发送,互不影响

6、reference

https://www.cnblogs.com/huxi2b/p/10330607.html

相关文章

  • Kafka Compression

    使用kafka-producer-perf-test.sh脚本依次为4个topic发送60,000,000条消息,...

  • Kafka消费GZIP消息

    接到新需求,消费kafka中压缩过的消息。本来天真的以为Producer有诸如compression.type之类...

  • Win10优化

    关闭Memory Compression 方法一 Memory Compression是微软检测并缓解物理内存(R...

  • git获取更新出错RPC failed;

    解决方式:1、文件太大,解决方式为git添加 compression 配置项 compression 是压缩的意思...

  • 第17周论文阅读(2019年)

    Compression and Localization in Reinforcement Learning fo...

  • Deep Compression

    Approach We introduce “deep compression”, a three stage p...

  • Deep Compression

    Approach We introduce “deep compression”, a three stage p...

  • Deduplication and Compression

    文章中如有错误,望指出,谢谢!

  • ClickHouse Compression

    0、结论 (1)原理ClickHouse默认使用LZ4压缩格式。当数据类型不同,ClickHouse支持字段级别的...

  • Network Compression

    背景 类似于智能手表等移动设备,资源、空间有限,大而深的网络显然不能直接应用,因此需要Network Compre...

网友评论

      本文标题:Kafka Compression

      本文链接:https://www.haomeiwen.com/subject/rizoictx.html