Kafka压测

用Kafka官方自带的脚本,对Kafka进行压测。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。

kafka-consumer-perf-test.sh

kafka-producer-perf-test.sh

2)Kafka Producer压力测试

(1)在/opt/module/kafka/bin目录下面有这两个文件。我们来测试一下

[atguigu@hadoop102 kafka]$ bin/kafka-producer-perf-test.sh  --topic test --record-size 100 --num-records 100000 --throughput 1000 --producer-props bootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092

说明:record-size是一条信息有多大,单位是字节。num-records是总共发送多少条信息。throughput 是每秒多少条信息。

(2)Kafka会打印下面的信息

5000 records sent, 999.4 records/sec (0.10 MB/sec), 1.9 ms avg latency, 254.0 max latency.

5002 records sent, 1000.4 records/sec (0.10 MB/sec), 0.7 ms avg latency, 12.0 max latency.

5001 records sent, 1000.0 records/sec (0.10 MB/sec), 0.8 ms avg latency, 4.0 max latency.

5000 records sent, 1000.0 records/sec (0.10 MB/sec), 0.7 ms avg latency, 3.0 max latency.

5000 records sent, 1000.0 records/sec (0.10 MB/sec), 0.8 ms avg latency, 5.0 max latency.

参数解析:本例中一共写入10w条消息,每秒向Kafka写入了0.10MB的数据,平均是1000条消息/秒,每次写入的平均延迟为0.8毫秒,最大的延迟为254毫秒。

3)Kafka Consumer压力测试

Consumer的测试,如果这四个指标(IO,CPU,内存,网络)都不能改变,考虑增加分区数来提升性能。

[atguigu@hadoop102 kafka]$

bin/kafka-consumer-perf-test.sh --zookeeper hadoop102:2181 --topic test --fetch-size 10000 --messages 10000000 --threads 1

参数说明:

--zookeeper 指定zookeeper的链接信息

--topic 指定topic的名称

--fetch-size 指定每次fetch的数据的大小

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

测试结果说明:

start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec

2019-02-19 20:29:07:566, 2019-02-19 20:29:12:170, 9.5368, 2.0714, 100010, 21722.4153

开始测试时间,测试结束数据,最大吞吐率9.5368MB/s,平均每秒消费2.0714MB/s,最大每秒消费100010条,平均每秒消费21722.4153条。

KAFKA机器数量计算

Kafka机器数量(经验公式)=2*(峰值生产速度*副本数/100)+1

先要预估一天大概产生多少数据,然后用Kafka自带的生产压测(只测试Kafka的写入速度,保证数据不积压),计算出峰值生产速度。再根据设定的副本数,就能预估出需要部署Kafka的数量。

比如我们采用压力测试测出写入的速度是10M/s一台,峰值的业务数据的速度是50M/s。副本数为2。

Kafka机器数量=2*(50*2/100)+ 1=3台

项目经验之Kafka压力测试以及kafka机器数量计算相关推荐

  1. Kafka压力测试(写入MQ消息压测和消费MQ消息压测)

    1.测试目的 本次性能测试在正式环境下单台服务器上Kafka处理MQ消息能力进行压力测试.测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据10w.100w和1000w级别的消息处理结果 ...

  2. kafka压力测试说明

    1 整体环境说明 1.1 硬件环境 1. 磁盘:SATA磁盘2块,磁盘阵列为RAID1 2. CPU****:2个4核CPU.具体参数:Intel(R) Xeon(R) CPU E5405 @ 2.0 ...

  3. 【学习笔记】seckill-秒杀项目--(7)压力测试

    一.JMeter简单使用 添加线程组,在线程组里设置要测试的线程数等.在线程组里添加HTTP请求默认值(设置请求ip端口号等).HTTP请求(测试哪个页面).需要查看的结果等. 在聚合报告里可以看到设 ...

  4. php项目通过不了压力测试,压力测试 – Apache ab测试和失败 – Apache或PHP配置问题?...

    我写了一个RESTful Web服务,成为使用PHP和Restler库的移动应用程序的支柱.它运行在运行Windows Server 2008 R2,PHP 5.3.5,Apache 2.2.17和M ...

  5. 数据仓库 — 07_Kafka的安装与部署(Kafka命令行操作指令、Kafka集群群起脚本、压力测试、节点数量计算、hadoop_zookeeper_flume_kafka群起脚本、默认端口总结)

    文章目录 1 Kafka的安装与配置 2 Kafka命令行操作 2.1 查看当前服务器中的所有topic 2.2 创建topic 2.3 删除topic 2.4 发送消息 2.5 消费消息 2.6 查 ...

  6. Kafka Rebalance测试

    Kafka Rebalance测试 关于kafka的Rebalance机制,其实就是规定同一个consumer group下所有的consumer如何协调工作的,分配订阅Topic分区的.Rebala ...

  7. 性能压力测试TPS优化之路---SYN__

    SYN Cookie的原理和实现 2014年01月06日 16:56:15 zhangskd 阅读数:28214 标签: TCPIPlinux内核 更多 个人分类: TCP/IPKernel 所属专栏 ...

  8. 支付系统接口性能压力测试TPS优化之路

    支付系统接口性能压力测试TPS优化之路 郭柏雅 本文案例是我们品课学院在银行系统性能测试第一个案例,由发生至解决,通过对业务逻辑的认知.测试环境的了解.测试脚本的开发.服务的监控分析优化.操作系统的监 ...

  9. 【转】使用JMeter对数据库做压力测试

    作为一名开发人员,大多情况下都会认真的做好功能测试,但是却常常忽略了软件开发之后的压力测试,尤其是在面向大量用户同时使用的Web应用系统的开发过程,压力测试往往是不够充分的.近期我在一个求职招聘型的网 ...

最新文章

  1. 昨日关注-你说过的每一句话
  2. 顺序查找(c/c++)
  3. 自动化办公之excel教程(3):数据编辑操作,表格的美化操作,应用表格样式和单元格样式,制作报销汇总单
  4. 110-简单类型之整数类型和小数类型
  5. CentOS6下Xen 4.1的安装(编译linux3.0内核)
  6. redhat6.3下配置使用cenos yum源
  7. 安装Aanconda详细教程
  8. 枚举学习文摘 — 框架设计(第2版) CLR Via C#
  9. SpringMVC详解(四)------SSM三大框架整合之登录功能实现
  10. 最实用windows 下python+numpy安装(转载)
  11. C#中COM串口连接、发送、接收数据
  12. 微软拼音输入法 设置双拼 及全双拼切换
  13. c语言公历转农历程序,用c如何编写 农历转换成公历
  14. 巧用立体声codec CL1026 的EQ
  15. 怎样设置excel中自动调整行高、列宽?
  16. 802.11标准及无线网运行模式
  17. mysql mycat水平分库_MyCat水平分库
  18. iPhone安装软件
  19. COBIT信息及相关技术控制目标认证
  20. java怎样做倒计时,Java 中怎么实现倒计时

热门文章

  1. 2022.11.15【bug笔记】|Error in FASTQ file at line 55: Line expected to start with ‘+‘, but found ‘G‘
  2. 真实案例,手把手教你构建用户画像
  3. 哼唱识别(query by humming)
  4. 新手建议收藏!还在为剪辑视频发愁?分享自媒体人必备9类工具
  5. 使用watermark.js给HTML、Word、PPT、Excel等添加水印
  6. 1000多块整个插板,arduino + android 蓝牙插板的实现--屌丝版
  7. 云计算1+X平台运维与开发认证(初级)操作题详解
  8. C语言--指针作为数组参数获取数组平均数
  9. 计算机网络面试知识点整理
  10. 为什么我会这么多技术,还这么难找工作