做网站 珠海wordpress 后台样式

当前位置: 首页 > news >正文

做网站 珠海,wordpress 后台样式,wordpress 数据转换,网站标题 逗号kafka单机安装及性能测试 Apache Kafka是一个分布式流处理平台#xff0c;最初由LinkedIn开发#xff0c;并于2011年开源#xff0c;随后成为Apache项目。Kafka的核心概念包括发布-订阅消息系统、持久化日志和流处理平台。它主要用于构建实时数据管道和流处理应用#xff…kafka单机安装及性能测试 Apache Kafka是一个分布式流处理平台最初由LinkedIn开发并于2011年开源随后成为Apache项目。Kafka的核心概念包括发布-订阅消息系统、持久化日志和流处理平台。它主要用于构建实时数据管道和流处理应用广泛应用于日志聚合、数据传输、实时监控和分析等场景。Kafka具有高吞吐量、低延迟、扩展性强和容错性高等特点。

  1. Kafka安装 安装kafka2.7.0 下载地址https://kafka.apache.org/downloads

    下载

    \( wget https://archive.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz \) tar xf kafka_2.13-2.7.0.tgz $ sudo mv kafka_2.13-2.7.0/ /usr/local/kafka2.7.0/

    修改zookeeper.properties的配置文件。修改dataDir的参数配置其他的配置默认不变。dataDir/usr/local/kafka2.7.0/zookeeper

    \( sudo vi /usr/local/kafka2.7.0/config/zookeeper.properties\) sudo mkdir -p /usr/local/kafka2.7.0/zookeeper/ $ sudo mkdir -p /usr/local/kafka2.7.0/logs/

    修改server.properties的配置文件。修改listeners、host.name、log.dirs、zookeeper.connect、create.topics.enable和delete.topic.enble的参数配置没有的配置添加其他的配置默认不变。

    $ sudo vi /usr/local/kafka2.7.0/config/server.properties ######## Socket Server Settings ######## listenersPLAINTEXT://172.16.0.9:9092 host.name172.16.0.9 ########### Log Basics ########### log.dirs/usr/local/kafka2.7.0/logs ########## Zookeeper ########### zookeeper.connect172.16.0.9:2181 ########## Group Coordinator Settings ######### auto.create.topics.enablefalse delete.topic.enabletrue# 启动Kafka,使用root用户操作。分为两步先启动zookeeper再启动Kafka。 [rootxx]# nohup /usr/local/kafka2.7.0/bin/zookeeper-server-start.sh /usr/local/kafka2.7.0/config/zookeeper.properties /usr/local/kafka2.7.0/zookeeper-run.log 21 [rootxx]# sleep 10 [rootxx]# nohup /usr/local/kafka2.7.0/bin/kafka-server-start.sh /usr/local/kafka2.7.0/config/server.properties /usr/local/kafka2.7.0/kafka-run.log 21 # 验证。jps查询输出如下择表示启动成功

    jps

    101981 Kafka 101420 QuorumPeerMain #zookeeper 102575 Jps2. Kafka性能测试 使用kafka自带的性能测试脚本发起写入MQ消息和消费MQ消息的请求。根据不同数量级的消息写入和消息消费测试结果评估kafka处理消息的能力。 2.1 Kafka写入消息压力测试 对kafka节点进行MQ消息服务的压力测试关注Kafka消息写入的延迟时间是否满足需求。

    脚本命令位于/usr/local/kafka2.7.0/bin

    创建topic单机环境replication-factor设置为1。上述server.properties中的auto.create.topics.enable设置为true可以自动创建主题。

    $ sudo ./kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 4 –topic test_perf

    删除topicsudo ./kafka-topics.sh –delete –topic test_perf –zookeeper localhost:2181

    查询topicsudo ./kafka-topics.sh –list –zookeeper localhost:2181# 指定吞吐量测试时延

    \( sudo ./kafka-producer-perf-test.sh --topic test_perf --num-records 100000 --record-size 1000 --throughput 2000 --producer-props bootstrap.servers172.16.0.9:9092 100000 records sent, 1999.760029 records/sec (1.91 MB/sec), 1.13 ms avg latency, 448.00 ms max latency, 0 ms 50th, 1 ms 95th, 17 ms 99th, 83 ms 99.9th.\) sudo ./kafka-producer-perf-test.sh –topic test_perf –num-records 1000000 –record-size 1000 –throughput 5000 –producer-props bootstrap.servers172.16.0.9:9092 1000000 records sent, 4999.725015 records/sec (4.77 MB/sec), 0.51 ms avg latency, 481.00 ms max latency, 0 ms 50th, 1 ms 95th, 2 ms 99th, 53 ms 99.9th$ sudo ./kafka-producer-perf-test.sh –topic test_perf –num-records 10000000 –record-size 1000 –throughput 5000 –producer-props bootstrap.servers172.16.0.9:9092 10000000 records sent, 4999.985000 records/sec (4.77 MB/sec), 0.35 ms avg latency, 424.00 ms max latency, 0 ms 50th, 1 ms 95th, 1 ms 99th, 5 ms 99.9th.# throughput设置0-1测试producer的最大吞吐量。

    优化参数compression.typesnappy使用snappy算法压缩消息。

    $ sudo ./kafka-producer-perf-test.sh –topic test_perf –num-records 10000000 –record-size 1000 –throughput -1 –producer-props bootstrap.servers172.16.0.9:9092 batch_size563840 linger_ms30000 acks0 compression_typesnappy [2024-03-28 16:57:00,757] WARN The configuration batch_size was supplied but isnt a known config. (org.apache.kafka.clients.producer.ProducerConfig) [2024-03-28 16:57:00,757] WARN The configuration compression_type was supplied but isnt a known config. (org.apache.kafka.clients.producer.ProducerConfig) [2024-03-28 16:57:00,757] WARN The configuration linger_ms was supplied but isnt a known config. (org.apache.kafka.clients.producer.ProducerConfig) 577921 records sent, 115584.2 records/sec (110.23 MB/sec), 239.9 ms avg latency, 491.0 ms max latency. 646464 records sent, 128854.7 records/sec (122.89 MB/sec), 247.7 ms avg latency, 604.0 ms max latency. 313216 records sent, 62418.5 records/sec (59.53 MB/sec), 514.5 ms avg latency, 854.0 ms max latency. 206016 records sent, 41137.4 records/sec (39.23 MB/sec), 724.7 ms avg latency, 1781.0 ms max latency. … 301184 records sent, 59949.0 records/sec (57.17 MB/sec), 545.7 ms avg latency, 725.0 ms max latency. 10000000 records sent, 62655.463870 records/sec (59.75 MB/sec), 494.30 ms avg latency, 5370.00 ms max latency, 506 ms 50th, 775 ms 95th, 1149 ms 99th, 5221 ms 99.9th.结果解析 以写入100w条MQ消息为例每秒平均向kafka写入了4.77MB的数据平均4999.725条消息/秒每次写入的平均延迟为0.51毫秒最大的延迟为481毫秒。 producer优化思路与优化参数 优化思路 适当调大 batch.size和 linger.ms这两个参数是配合起来使用的目的就是缓存更多的数据减少客户端发起请求的次数。这两个参数根据实际情况调整注意要适量。关闭数据发送确认机制适用于对数据完整性要求不高的场景比如日志丢几条无所谓那种指定数据发送时的压缩算法默认不压缩可选压缩算法gzip,snappy,lz4,zstd等 推荐一组优化参数 batch_size563840: 默认值是 16384linger_ms30000: 默认值是 0acks0: 默认值是 1compression_type“gzip”: 默认值是 None 结果汇总 设置消息总数(单位w)设置单个消息大小单位字节设置每秒发送消息数实际写入消息数/秒95%的消息延迟单位ms10100020001999.761ms100100050004999.721ms1000100050004999.961ms 2.2 Kafka消费消息压力测试 对Kafka节点进行MQ消息处理的压力测试验证Kafka的消息处理能力。

    消费10w消息压测结果。先写入10w消息然后消费

    \( sudo ./kafka-producer-perf-test.sh --topic test_perf --num-records 100000 --record-size 1000 --throughput 2000 --producer-props bootstrap.servers172.16.0.9:9092 \) sudo ./kafka-consumer-perf-test.sh –broker-list 172.16.0.9:9092 –topic test_perf –fetch-size 1048576 –messages 100000 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 2024-03-27 14:14:36:989, 2024-03-27 14:14:38:053, 95.3674, 89.6310, 100000, 93984.9624, 1711520077451, -1711520076387, -0.0000, -0.0001# 消费100w消息压测结果。先写入100w消息然后消费 \( sudo ./kafka-producer-perf-test.sh --topic test_perf --num-records 1000000 --record-size 1000 --throughput 5000 --producer-props bootstrap.servers172.16.0.9:9092 \) sudo ./kafka-consumer-perf-test.sh –broker-list 172.16.0.9:9092 –topic test_perf –fetch-size 1048576 –messages 1000000 –threads 1 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 2024-03-27 14:20:11:235, 2024-03-27 14:20:14:554, 953.8040, 287.3769, 1000136, 301336.5472, 1711520411703, -1711520408384, -0.0000, -0.0006# 消费1000w消息压测结果。先写入1000w消息然后消费 \( sudo ./kafka-producer-perf-test.sh --topic test_perf --num-records 10000000 --record-size 1000 --throughput 5000 --producer-props bootstrap.servers172.16.0.9:9092 \) sudo ./kafka-consumer-perf-test.sh –broker-list 172.16.0.9:9092 –topic test_perf –fetch-size 1048576 –messages 10000000 –threads 1 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 2024-03-27 14:56:24:937, 2024-03-27 14:59:01:601, 9536.7823, 60.8741, 10000041, 63831.1354, 1716562585422, -1716562428758, -0.0000, -0.0058结果解析 以本例中消费100w条MQ消息为例总共消费了953.8M的数据每秒消费数据大小为287.377M总共消费了1000136条消息每秒消费301336.547条消息。 参数解释 start.time测试开始的时间通常以时间戳形式表示标志着性能测试或监控的开始时刻。 end.time测试结束的时间通常以时间戳形式表示标志着性能测试或监控的结束时刻。 data.consumed.in.MB在测试期间消费者从Kafka主题中消费的数据总量以MB兆字节为单位。这个参数表示消费者在指定时间段内消费了多少数据。 MB.sec每秒消费的数据量以MB兆字节为单位。它表示消费者的吞吐量即每秒能够消费的数据量。 data.consumed.in.nMsg在测试期间消费者从Kafka主题中消费的消息总数。这个参数表示消费者在指定时间段内消费了多少条消息。 nMsg.sec每秒消费的消息数。它表示消费者的吞吐量即每秒能够消费的消息数量。 rebalance.time.ms在测试期间由于消费者组重新平衡所花费的总时间以毫秒为单位。消费者组重新平衡是指消费者组内的消费者发生变动如新增或移除消费者时Kafka需要重新分配分区给各个消费者的过程。 fetch.time.ms在测试期间用于从Kafka获取消息的总时间以毫秒为单位。这个参数表示消费者花在从Kafka拉取消息上的总时间。 fetch.MB.sec每秒从Kafka获取的数据量以MB兆字节为单位。这个参数表示消费者在拉取消息时的吞吐量。 fetch.nMsg.sec每秒从Kafka获取的消息数。这个参数表示消费者在拉取消息时的吞吐量。
    这些参数可以帮助评估Kafka消费者在不同负载下的性能找出可能的瓶颈并进行相应的优化。 结果汇总 消费消息总数(单位w)共消费数据单位M每秒消费数据单位M每秒消费消息数消费耗时单位s1095.3671089.63193984.96241.064100953.8287.3769301336.54723.31910009536.782360.874163831.1354156.664 参考 Kafka压力测试(自带测试脚本)(单机版)如何做 Kafka 的性能测试