项目经验之Kafka压力测试以及kafka机器数量计算
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机器数量计算相关推荐
- Kafka压力测试(写入MQ消息压测和消费MQ消息压测)
1.测试目的 本次性能测试在正式环境下单台服务器上Kafka处理MQ消息能力进行压力测试.测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据10w.100w和1000w级别的消息处理结果 ...
- kafka压力测试说明
1 整体环境说明 1.1 硬件环境 1. 磁盘:SATA磁盘2块,磁盘阵列为RAID1 2. CPU****:2个4核CPU.具体参数:Intel(R) Xeon(R) CPU E5405 @ 2.0 ...
- 【学习笔记】seckill-秒杀项目--(7)压力测试
一.JMeter简单使用 添加线程组,在线程组里设置要测试的线程数等.在线程组里添加HTTP请求默认值(设置请求ip端口号等).HTTP请求(测试哪个页面).需要查看的结果等. 在聚合报告里可以看到设 ...
- php项目通过不了压力测试,压力测试 – Apache ab测试和失败 – Apache或PHP配置问题?...
我写了一个RESTful Web服务,成为使用PHP和Restler库的移动应用程序的支柱.它运行在运行Windows Server 2008 R2,PHP 5.3.5,Apache 2.2.17和M ...
- 数据仓库 — 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 查 ...
- Kafka Rebalance测试
Kafka Rebalance测试 关于kafka的Rebalance机制,其实就是规定同一个consumer group下所有的consumer如何协调工作的,分配订阅Topic分区的.Rebala ...
- 性能压力测试TPS优化之路---SYN__
SYN Cookie的原理和实现 2014年01月06日 16:56:15 zhangskd 阅读数:28214 标签: TCPIPlinux内核 更多 个人分类: TCP/IPKernel 所属专栏 ...
- 支付系统接口性能压力测试TPS优化之路
支付系统接口性能压力测试TPS优化之路 郭柏雅 本文案例是我们品课学院在银行系统性能测试第一个案例,由发生至解决,通过对业务逻辑的认知.测试环境的了解.测试脚本的开发.服务的监控分析优化.操作系统的监 ...
- 【转】使用JMeter对数据库做压力测试
作为一名开发人员,大多情况下都会认真的做好功能测试,但是却常常忽略了软件开发之后的压力测试,尤其是在面向大量用户同时使用的Web应用系统的开发过程,压力测试往往是不够充分的.近期我在一个求职招聘型的网 ...
最新文章
- 昨日关注-你说过的每一句话
- 顺序查找(c/c++)
- 自动化办公之excel教程(3):数据编辑操作,表格的美化操作,应用表格样式和单元格样式,制作报销汇总单
- 110-简单类型之整数类型和小数类型
- CentOS6下Xen 4.1的安装(编译linux3.0内核)
- redhat6.3下配置使用cenos yum源
- 安装Aanconda详细教程
- 枚举学习文摘 — 框架设计(第2版) CLR Via C#
- SpringMVC详解(四)------SSM三大框架整合之登录功能实现
- 最实用windows 下python+numpy安装(转载)
- C#中COM串口连接、发送、接收数据
- 微软拼音输入法 设置双拼 及全双拼切换
- c语言公历转农历程序,用c如何编写 农历转换成公历
- 巧用立体声codec CL1026 的EQ
- 怎样设置excel中自动调整行高、列宽?
- 802.11标准及无线网运行模式
- mysql mycat水平分库_MyCat水平分库
- iPhone安装软件
- COBIT信息及相关技术控制目标认证
- java怎样做倒计时,Java 中怎么实现倒计时
热门文章
- 2022.11.15【bug笔记】|Error in FASTQ file at line 55: Line expected to start with ‘+‘, but found ‘G‘
- 真实案例,手把手教你构建用户画像
- 哼唱识别(query by humming)
- 新手建议收藏!还在为剪辑视频发愁?分享自媒体人必备9类工具
- 使用watermark.js给HTML、Word、PPT、Excel等添加水印
- 1000多块整个插板,arduino + android 蓝牙插板的实现--屌丝版
- 云计算1+X平台运维与开发认证(初级)操作题详解
- C语言--指针作为数组参数获取数组平均数
- 计算机网络面试知识点整理
- 为什么我会这么多技术,还这么难找工作