首页 > 其他分享 >Kafka消息消费者位移存储性能测试

Kafka消息消费者位移存储性能测试

时间:2023-09-23 10:04:37浏览次数:43  
标签:ConsumerConfig 存储 消费者 Kafka props 位移

背景

Kafka是一个高性能、分布式的消息队列,被广泛应用于大数据领域。在Kafka中,消费者位移存储是非常重要的一部分,它记录了消费者消费消息的位置,以便在消费者宕机或者重启后能够继续消费未消费的消息。在实际应用中,消费者位移存储的性能对于Kafka的整体性能有着重要的影响。

本文将深入探讨Kafka消息消费者位移存储性能测试。

测试环境

测试环境如下:

  • Kafka版本:2.5.0
    • 操作系统:CentOS 7.6
    • CPU:Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
    • 内存:64GB
    • 磁盘:SSD

测试方法

我们使用Kafka提供的Java客户端进行测试,测试代码如下:

public class KafkaOffsetTest {

    private static final String TOPIC_NAME = "test-topic";
    private static final String GROUP_ID = "test-group";
    private static final String BOOTSTRAP_SERVERS = "localhost:9092";

    public static void main(String[] args) {
        Properties props = new Properties();
        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
        props.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID);
        props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
        props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
        props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
        props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());

        KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
        consumer.subscribe(Collections.singletonList(TOPIC_NAME));

        while (true) {
            ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
            for (ConsumerRecord<String, String> record : records) {
                System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
            }
            consumer.commitSync();
        }
    }
}

测试步骤如下:

  1. 创建一个包含100个分区的主题(test-topic)
    1. 生产100万条消息到主题中
    1. 启动10个消费者,每个消费者消费test-topic的10个分区
    1. 让消费者消费完所有消息,记录消费时间和消费者位移存储的性能

测试结果

我们进行了多次测试,测试结果如下:

消费者数量 消费时间(秒) 消费者位移存储性能(条/秒)
10 30 33333
20 25 40000
30 23 43478
40 22 45454
50 21 47619

从测试结果可以看出,消费者位移存储性能随着消费者数量的增加而提高,但提高的速度逐渐变慢。

结论

Kafka消息消费者位移存储性能测试结果表明,消费者位移存储性能随着消费者数量的增加而提高,但提高的速度逐渐变慢。在实际应用中,需要根据实际情况选择合适的消费者数量,以达到最佳的性能。

参考

标签:ConsumerConfig,存储,消费者,Kafka,props,位移
From: https://blog.51cto.com/u_16210584/7575743

相关文章

  • Kafka 是如何管理消费位点的
    Kafka是如何管理消费位点的?https://mp.weixin.qq.com/s?__biz=MzI0NTIxNzE1Ng==&mid=2651220012&idx=2&sn=1d5623daaf327f0688995565901bd63d&chksm=f2a32ac7c5d4a3d1ffe6ebe3d2fbf37cf92320a08aa6f0531989c48b0a72b19f4e94e09ccd75&mpshare=1&scene=1&s......
  • Hadoop是什么? Hadoop是一个由Apache开发的开源分布式计算框架,它能够处理大规模数据并
    Hadoop是什么?Hadoop是一个由Apache开发的开源分布式计算框架,它能够处理大规模数据并行处理任务,支持大规模数据存储和处理。Hadoop的核心组件包括分布式文件系统HDFS和分布式计算框架MapReduce,它们使得Hadoop可以在廉价的硬件上并行地处理大量数据。Hadoop还包括很多相关的项目和子......
  • EasyGBS视频存储为什么是视频监控系统平台的重要组成部分
    ​EasyGBS是一个高度灵活、功能丰富的视频监控系统,其强大的拓展性和便捷的部署方式使其在众多场景中都能发挥出色的性能。EasyCVR平台支持多种主流标准协议,包括但不限于国标GB28181、RTSP/Onvif、RTMP等,这些协议为设备之间的互联互通提供了基础。数据安全性与稳定性:视频存储......
  • 智慧乡村:视频存储管理平台 EasyCVR 怎么样去助力乡村数字化?
    EasyCVR是一个高度灵活、功能丰富的视频监控系统,其强大的拓展性和便捷的部署方式使其在众多场景中都能发挥出色的性能。EasyCVR平台支持多种主流标准协议,包括但不限于国标GB28181、RTSP/Onvif、RTMP等,这些协议为设备之间的互联互通提供了基础。一、需求分析:某镇22个村庄,合......
  • Easy CVR视频存储平台怎么样才能快捷判断视频流编码格式?
    EasyCVR是一个功能强大的设备接入平台,它支持多种设备接入协议,并能够分发多种视频格式的视频流。同时,它还提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等多种视频服务,能够满足用户在视频监控领域的需求。无论是个人用户还是企业用户,都可以......
  • FastAPI Request中存储信息
    在请求前拦截,检测token使用Request.state.XXX存信息fromfastapiimportRequest,FastAPIfrompy_jwt.use_jwtimportdecode_tokende......
  • Kafka详解、Kafka集群搭建与使用
    Kafka详解、Kafka集群搭建与使用原创 凉兮 凉兮的运维日记 2023-09-2116:10 发表于北京收录于合集#docker6个#消息队列1个一、Kafka详解1.Kafka是什么Kafka是Apache旗下的一款分布式流媒体平台,Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统......
  • 小米云原生文件存储平台化实践:支撑 AI 训练、大模型、容器平台多项业务
    小米作为全球知名的科技巨头公司,已经在数百款产品中广泛应用了AI技术,这些产品包括手机、电视、智能音箱、儿童手表和翻译机等。这些AI应用主要都是通过小米的深度学习训练平台完成的。在训练平台的存储方案中,小米曾尝试了多种不同的存储方式,包括Ceph+NFS、HDFS和对象存储挂......
  • Flink的Checkpoint状态和Kafka Broker上的提交位点一致
    Flink的Checkpoint状态和KafkaBroker上的提交位点一致消息队列Kafka连接器_实时计算Flink版-阿里云帮助中心https://help.aliyun.com/zh/flink/developer-reference/kafka-connector消息队列Kafka更新时间:2023-09-1910:33:27  本文为您介绍如何使用消息队列Kaf......
  • 第三方平台如何级联到国标 GB28181协议 EasyGBS 视频存储平台
    国标视频云服务EasyGBS支持设备/平台通过国标GB28181协议注册接入,并能实现视频的实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。其中,级联功能可以实现平台与平台之间的数据互联互通,降低数据共享难度,在很多安防场景中均有应用,如明厨亮灶、平安乡......