上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

kafka基本操作

guduadmin27月前

kafka基本操作,第1张

创建topic

创建一个topic(主题)。Kafka中所有的消息都是保存在主题中,要生产消息到Kafka,首先必须要有一个确定的主题。 

cd /export/server/kafka_2.12-2.4.1
# 创建名为test的主题
bin/kafka-topics.sh --create --bootstrap-server 192.168.2.3:9092 --topic test
# 查看目前Kafka中的主题
bin/kafka-topics.sh --list --bootstrap-server 192.168.2.3:9092

生产消息到Kafka

使用Kafka内置的测试程序,生产一些消息到Kafka的test主题中。

bin/kafka-console-producer.sh --broker-list 192.168.2.3:9092 --topic test

 从Kafka消费消息

使用下面的命令来消费 test 主题中的消息。

bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.3:9092 --topic test --from-beginning

使用Kafka Tools操作Kafka

安装kafka tools:偏移浏览器 (kafkatool.com)

连接Kafka集群

安装Kafka Tools后启动Kafka

kafka基本操作,第2张

kafka基本操作,第3张创建topic

kafka基本操作,第4张

kafka基本操作,第5张kafka基本操作,第6张

Kafka基准测试 

基准测试

基准测试(benchmark testing)是一种测量和评估软件性能指标的活动。我们可以通过基准测试,了解到软件、硬件的性能水平。主要测试负载的执行时间、传输速度、吞吐量、资源占用率等。

基于1个分区1个副本的基准测试

测试步骤:

  1. 启动Kafka集群
  2. 创建一个1个分区1个副本的topic: benchmark
  3. 同时运行生产者、消费者基准测试程序
  4. 观察结果

创建topic

bin/kafka-topics.sh --zookeeper 192.168.2.3:2181 --create --topic benchmark --partitions 1 --replication-factor 1

生产消息基准测试

在生产环境中,推荐使用生产5000W消息,这样会性能数据会更准确些。为了方便测试,课程上演示测试500W的消息作为基准测试。

bin/kafka-producer-perf-test.sh --topic benchmark --num-records 5000000 --throughput -1 --record-size 1000 --producer-props bootstrap.servers=192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 acks=1

bin/kafka-producer-perf-test.sh

--topic topic的名字

--num-records 总共指定生产数据量(默认5000W)

--throughput 指定吞吐量——限流(-1不指定)

--record-size   record数据大小(字节)

--producer-props bootstrap.servers=192.168.1.20:9092,192.168.1.21:9092,192.168.1.22:9092 acks=1 指定Kafka集群地址,ACK模式

测试结果: 

吞吐量

93092.533979 records/sec

每秒9.3W条记录

吞吐速率

(88.78 MB/sec)

每秒约89MB数据

平均延迟时间

346.62 ms avg latency

最大延迟时间

1003.00 ms max latency

消费消息基准测试

bin/kafka-consumer-perf-test.sh --broker-list 192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 --topic benchmark --fetch-size 1048576 --messages 5000000

bin/kafka-consumer-perf-test.sh

--broker-list 指定kafka集群地址

--topic 指定topic的名称

--fetch-size 每次拉取的数据大小

--messages 总共要消费的消息个数

data.consumed.in.MB

共计消费的数据

4768.3716MB

MB.sec

每秒消费的数量

445.6006

每秒445MB

data.consumed.in.nMsg

共计消费的数量

5000000

nMsg.sec

每秒的数量

467246.0518

每秒46.7W条

基于3个分区1个副本的基准测试

被测虚拟机:

192.168.2.3192.168.2.4192.168.2.5

inter i5 8th 8G内存

inter i5 8th 4G内存

inter i5 8th 4G内存

创建topic

bin/kafka-topics.sh --zookeeper 192.168.2.3:2181 --create --topic benchmark --partitions 3 --replication-factor 1

生产消息基准测试

bin/kafka-producer-perf-test.sh --topic benchmark --num-records 5000000 --throughput -1 --record-size 1000 --producer-props bootstrap.servers=192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 acks=1

测试结果:

指标

3分区1个副本

单分区单副本

吞吐量

68755.930199 records/sec

93092.533979 records/sec

每秒9.3W条记录

吞吐速率

65.57 MB/sec

(88.78 MB/sec)

每秒约89MB数据

平均延迟时间

469.37 ms avg latency

346.62 ms avg latency

最大延迟时间

2274.00 ms max latency

1003.00 ms max latency

在虚拟机上,因为都是共享笔记本上的CPU、内存、网络,所以分区越多,反而效率越低。但如果是真实的服务器,分区多效率是会有明显提升的。

消费消息基准测试

bin/kafka-consumer-perf-test.sh --broker-list 192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 --topic benchmark --fetch-size 1048576 --messages 5000000

指标

单分区3个副本

单分区单副本

data.consumed.in.MB

共计消费的数据

4768.3716MB

4768.3716MB

MB.sec

每秒消费的数量

265.8844MB

445.6006

每秒445MB

data.consumed.in.nMsg

共计消费的数量

5000000

5000000

nMsg.sec

每秒的数量

278800.0446

每秒27.8W

467246.0518

每秒46.7W

还是一样,因为虚拟机的原因,多个分区反而消费的效率也有所下降。

基于1个分区3个副本的基准测试

创建topic

bin/kafka-topics.sh --zookeeper 192.168.2.3:2181 --create --topic benchmark --partitions 1 --replication-factor 3

生产消息基准测试

bin/kafka-producer-perf-test.sh --topic benchmark --num-records 5000000 --throughput -1 --record-size 1000 --producer-props bootstrap.servers=192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 acks=1

测试结果:

指标

单分区3个副本

单分区单副本

吞吐量

29899.477955 records/sec

93092.533979 records/sec

每秒9.3W条记录

吞吐速率

28.51 MB/sec

(88.78 MB/sec)

每秒约89MB数据

平均延迟时间

1088.43 ms avg latency

346.62 ms avg latency

最大延迟时间

2416.00 ms max latency

1003.00 ms max latency

同样的配置,副本越多速度越慢。

消费消息基准测试

bin/kafka-consumer-perf-test.sh --broker-list 192.168.2.3:9092,192.168.2.4:9092,192.168.2.5:9092 --topic benchmark --fetch-size 1048576 --messages 5000000

指标

单分区3个副本

单分区单副本

data.consumed.in.MB

共计消费的数据

4768.3716MB

4768.3716MB

MB.sec

每秒消费的数量

265.8844MB

每秒265MB

445.6006

每秒445MB

data.consumed.in.nMsg

共计消费的数量

5000000

5000000

nMsg.sec

每秒的数量

278800.0446

每秒27.8W

467246.0518

每秒46.7W

网友评论

搜索
最新文章
热门文章
热门标签
 
 已婚女人梦见满地蛇是什么意思  梦见自己洗头掉头发是什么征兆  周公解梦别人结婚