kafka学习之三_信创CPU下单节点kafka性能测试验证

kafka,学习,之三,cpu,下单,节点,性能,测试,验证 · 浏览次数 : 152

小编点评

好的,以下是一个生成内容时带简单的排版的示例: ``` **数据分析** 数据.消费.in.MB, MB.sec, data.消费.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec2023-06-20 22:28:04:364, 2023-06-20 22:33:58:168 **结果** 生产结果: 61162.079511 records/sec (59.73 MB/sec), 335.18 ms avg latency, 364.00 ms max latency, 259 ms 50th, 344 ms 95th, 359 ms 99th, 363 ms 99.9th.consumer:start.time, end.time, data.consumed.in.MB, MB.sec, data.消费.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec2023-06-20 **数据分析** 数据.消费.in.MB, MB.sec, data.消费.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec2023-06-20 22:37:49:668, 2023-06-20 22:44:14:446 **结果** 生产结果: 74349.442379 records/sec (72.61 MB/sec), 253.07 ms avg latency, 364.00 ms max latency, 259 ms 50th, 344 ms 95th, 359 ms 99th, 363 ms 99.9th.consumer:start.time, end.time, data.consumed.in.MB, MB.sec, data.消费.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec2023-06-20 ``` 示例中,数据分析部分使用了排版格式,数据结果部分使用了新的格式,例如表格格式。 希望这个例子能够帮助你生成内容时带简单的排版。

正文

kafka学习之三_信创CPU下单节点kafka性能测试验证


背景

前面学习了 3controller+5broker 的集群部署模式.
晚上想着能够验证一下国产机器的性能. 但是国产机器上面的设备有限.
所以想着进行单节点的安装与测试. 并且记录一下简单结果

希望对以后的工作有指导意义

发现producer的性能比较与之前的 测试结果比较接近. 
但是consumer的测试结果看不出太多头绪来.
自己对kafka的学习还不够深入, 准备下一期就进行consumer的调优验证. 

测试结果验证

CPU类型 producer测试结果 consumer测试结果
sw 3231 7.20 MB/sec 2.62 MB/sec
FT 2500 2.17 MB/sec 测试失败
海光 7285 39.20 MB/sec 5.77 MB/sec
鲲鹏920 41.97 MB/sec 5.6037 MB/sec
倚天710 59.73 MB/sec 6.19 MB/sec
AMD 9T34 72.61 MB/sec 6.68 MB/sec

测试结果

image


广告一下自己的公众号

image


以申威为例进行安装说明

因为kafka 其实是基于java进行编写的消息队列.
所以不需要有繁杂的编译等过程. 
只要jdk支持, 理论上就可以进行运行. 
比较麻烦的就是稳定性和性能的表现. 
所以这里进行一下安装与验证. 

安装过程-1

上传文件到/root目录下面并且解压缩
cd /root && tar -zxvf kafka_2.13-3.5.0.tgz
然后编辑对应的文件:
cat > /root/kafka_2.13-3.5.0/config/kafka_server_jaas.conf <<EOF
KafkaServer {
  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="admin"
  password="Testxxxxxx"
  user_admin="Testxxxxxx"
  user_comsumer="Testxxxxxx"
  user_producer="Testxxxxxx";
};
EOF

# 增加一个客户端配置文件 客户端才可以连接服务器端
cat > /root/kafka_2.13-3.5.0/config/sasl.conf <<EOF
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="Testxxxxxx"; 
security.protocol=SASL_PLAINTEXT 
sasl.mechanism=PLAIN
EOF

安装过程-2

vim /root/kafka_2.13-3.5.0/config/kraft/server.properties
主要修改的点: 
因为是单节点所以比较简单了: 
process.roles=broker,controller
node.id=100
controller.quorum.voters=100@127.0.0.1:9094
listeners=SASL_PLAINTEXT://127.0.0.1:9093,CONTROLLER://127.0.0.1:9094
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
security.inter.broker.protocol=SASL_PLAINTEXT
allow.evervone.if.no.acl.found=true
advertised.listeners=SASL_PLAINTEXT://127.0.0.1:9093

# 最简单的方法可以删除配置文件的前面 50行, 直接放进去这些内容
vim->:1,50d->paste->edit_ips
其他ip地址可以如此替换:
sed -i 's/127.0.0.1/10.110.136.41/g'  /root/kafka_2.13-3.5.0/config/kraft/server.properties

安装过程-3

修改启动脚本:
vim /root/kafka_2.13-3.5.0/bin/kafka-server-start.sh 
在任意一个java opt 处增加:
-Djava.security.auth.login.config=/root/kafka_2.13-3.5.0/config/kafka_server_jaas.conf 

安装过程-4

# 初始化
/root/kafka_2.13-3.5.0/bin/kafka-storage.sh random-uuid
cd /root/kafka_2.13-3.5.0
bin/kafka-storage.sh format -t 7ONT3dn3RWWNCZyIwLrEqg  -c config/kraft/server.properties
# 启动服务
cd /root/kafka_2.13-3.5.0 && bin/kafka-server-start.sh -daemon  config/kraft/server.properties
# 创建topic
bin/kafka-topics.sh --create  --command-config config/sasl.conf  --replication-factor 1 --partitions 3 --topic zhaobsh01 --bootstrap-server 127.0.0.1:9093 
# 测试producer
bin/kafka-producer-perf-test.sh  --num-records 100000  --record-size 1024 --throughput -1 --producer.config config/sasl.conf  --topic zhaobsh01  --print-metrics --producer-props bootstrap.servers=127.0.0.1:9093
# 测试consumer
bin/kafka-consumer-perf-test.sh  --fetch-size 10000 --messages 1000000   --topic zhaobsh01 --consumer.config config/sasl.conf   --print-metrics --bootstrap-server 127.0.0.1:9093
# 查看日志
tail -f /root/kafka_2.13-3.5.0/logs/kafkaServer.out

申威的测试结果

producer:
100000 records sent, 7370.283019 records/sec (7.20 MB/sec), 2755.49 ms avg latency, 3794.00 ms max latency, 3189 ms 50th, 3688 ms 95th, 3758 ms 99th, 3785 ms 99.9th.
consumer:
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
2023-06-20 21:56:02:493, 2023-06-20 21:56:39:755, 97.6563, 2.6208, 100000, 2683.6992, 5599, 31663, 3.0842, 3158.2604

飞腾的测试结果-hdd

producer:
100000 records sent, 1828.922582 records/sec (1.79 MB/sec), 6999.20 ms avg latency, 51476.00 ms max latency, 875 ms 50th, 21032 ms 95th, 21133 ms 99th, 21167 ms 99.9th.
consumer:

飞腾的测试结果-ssd

producer:
100000 records sent, 2219.706555 records/sec (2.17 MB/sec), 7073.51 ms avg latency, 41100.00 ms max latency, 1089 ms 50th, 20816 ms 95th, 20855 ms 99th, 20873 ms 99.9th.

海光的测试结果

producer:
100000 records sent, 40144.520273 records/sec (39.20 MB/sec), 486.67 ms avg latency, 681.00 ms max latency, 456 ms 50th, 657 ms 95th, 674 ms 99th, 678 ms 99.9th.
consumer:
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
2023-06-20 22:28:04:364, 2023-06-20 22:28:21:274, 97.6563, 5.7751, 100000, 5913.6606, 3809, 13101, 7.4541, 7633.0051

鲲鹏的测试结果

producer:
100000 records sent, 42973.785991 records/sec (41.97 MB/sec), 463.69 ms avg latency, 621.00 ms max latency, 472 ms 50th, 593 ms 95th, 612 ms 99th, 619 ms 99.9th.
consumer:
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
2023-06-20 22:33:58:168, 2023-06-20 22:34:15:595, 97.6563, 5.6037, 100000, 5738.2223, 3799, 13628, 7.1659, 7337.8339

倚天的测试结果

producer:
100000 records sent, 61162.079511 records/sec (59.73 MB/sec), 335.18 ms avg latency, 498.00 ms max latency, 326 ms 50th, 476 ms 95th, 494 ms 99th, 497 ms 99.9th.
consumer:
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
2023-06-20 22:37:49:668, 2023-06-20 22:38:05:426, 97.6563, 6.1972, 100000, 6345.9830, 3597, 12161, 8.0303, 8223.008

AMD9T34的测试结果

producer:
100000 records sent, 74349.442379 records/sec (72.61 MB/sec), 253.07 ms avg latency, 364.00 ms max latency, 259 ms 50th, 344 ms 95th, 359 ms 99th, 363 ms 99.9th.
consumer:
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
2023-06-20 22:44:14:446, 2023-06-20 22:44:29:058, 97.6563, 6.6833, 100000, 6843.6901, 3504, 11108, 8.7915, 9002.5207

与kafka学习之三_信创CPU下单节点kafka性能测试验证相似的内容:

kafka学习之三_信创CPU下单节点kafka性能测试验证

# kafka学习之三_信创CPU下单节点kafka性能测试验证 ## 背景 ``` 前面学习了 3controller+5broker 的集群部署模式. 晚上想着能够验证一下国产机器的性能. 但是国产机器上面的设备有限. 所以想着进行单节点的安装与测试. 并且记录一下简单结果 希望对以后的工作有指

kafka学习之五_多个磁盘的性能验证

# kafka学习之五_多个磁盘的性能验证 ## 背景 ``` 周末在家学习kafka 上午验证了grafana+kafka_exporter的监控 下午想着验证一把性能相关. kafka学习之三里面,有成套的脚本. 我这边想起来之前还有一个机器, 是四个单盘HDD, 我可以直接进行使用和验证. `

kafka的学习之二_kafka的压测与GUI管理

# kafka的学习之二_kafka的压测与GUI管理 ## 第一部分创建topic ``` cd /root/kafka_2.13-3.5.0 bin/kafka-topics.sh --create --bootstrap-server 10.110.139.184:9093 --command

kafka的学习之一_带SASL鉴权的集群安装与启动

# kafka的学习之一_带SASL鉴权的集群安装与启动 ## 背景 ``` 想开始一段新的里程. 可能会比现在累, 可能会需要更多的学习和努力. kafka可能就是其中之一. 自己之前总是畏缩不前. 不想面对很多压力. 年龄已经很大了, 必须得向前看继续努力了. ``` ## 关于kafka ``

Kafka学习之四_Grafana监控相关的学习

# Kafka学习之四_Grafana监控相关的学习 ## 背景 ``` 想一并学习一下kafaka的监控. 又重新开始学习grafana了: 下载地址: https://grafana.com/grafana/download https://prometheus.io/download/ htt

Jmeter学习之八_测试kafka

# Jmeter学习之八_测试kafka ## 背景 ``` 最近在持续学习. 昨天学习了grafana展示Jmeter测试数据库的结果 今天想着能够测试一下kafka验证一下kafka的吞吐量等信息 说干就干的. ``` ## 遇到的坑 ``` 本来计划使用pepper-box 或者是 kafka

从Kafka中学习高性能系统如何设计

相信各位小伙伴之前或多或少接触过消息队列,比较知名的包含Rocket MQ和Kafka,在京东内部使用的是自研的消息中间件JMQ,从JMQ2升级到JMQ4的也是带来了性能上的明显提升,并且JMQ4的底层也是参考Kafka去做的设计。在这里我会给大家展示Kafka它的高性能是如何设计的,大家也可以学习相关方法论将其利用在实际项目中,也许下一个顶级项目就在各位的代码中产生了。

[转帖]Kafka 核心技术与实战学习笔记(六)kafka线上集群部署方案

一.操作系统-Linux Kafka是JVM系的大数据框架kafka由Scala语言和Java语言编写而成,编译之后的源代码就是普通的".class"文件 使用Linux kafka客户端底层使用Java的selector,selector在Linux上的实现机制是epoll,由于在windows上

strimzi实战之一:简介和准备

strimzi是个CNCF项目,功能是用于在kubernetes环境下部署和配置kafka,并提供了丰富的扩展功能,《strimzi实战》是欣宸新的系列原创,旨在与大家一起通过实战学习和掌握strimzi,并且深入源码

[转帖]java性能分析之火焰图

http://t.zoukankan.com/lemon-le-p-13820204.html 原由 最近因为kafka、zookeeper、ES和相关的Java应用的内存问题搞的头大,做运维将近4年,对Java调优、性能方面的知识了解的少之又少,是时候下定决心来对他多一个学习了。不能一口吃成一个胖