Q:
请教下 kafka的压测。 我想了解压测的过程方法是什么样的。 我应该使用什么压测方法,压测哪些指标、关注哪些压测结果指标,以及能得到什么样的kafka性能处理结论。
A:
压测是一个系统性问题,非常考验对Kafka的深度掌控能力,需要明确压测场景化目标,Case By Case的压测。
实 *** 层面,涉及仿真环境准备,压测工具的选取,压测过程观测,压测结果分析,压测报告呈现
仿真环境准备,需要在Kafka的机型选择、部署架构、系统参数、配置参数、业务数据等多个维度与线上环境保持一致,最难的部分是构造线上多样数据。
压测工具的选取,如果公司内部有压测平台,可以基于平台实现,如果没有可以考虑Kafka自带的测试工具kafka-producer-perf-test.sh来进行测试,producer发送数据生成方式如下:导了一部分线上流量保存到本地文件,随机读取文件中消息发送。
压测过程观测,需要搭建好Kafka集群的观察体系,推荐使用滴滴的LogiKM,方便观测Kafka软件瓶颈点(网络线程池、业务处理线程池的使用率是非常关键的指标),其次配合系统指标监控平台,观测系统指标瓶颈点(CPU、网络是重点关注点)。
压测结果分析,比较理想的情况是系统资源达到瓶颈,比如网卡、CPU、磁盘IOPS;如果系统资源没有瓶颈,一般就是软件资源瓶颈,需要识别软件的资源瓶颈点,一般配合Kafka堆栈,找出线程阻塞点,结合源码与原理深入分析,分布式系统可以通过扩分区、扩实例解决横向扩展问题。
压测报告呈现,要给出测试环境说明,测试场景说明,测试过程说明,测试结论呈现(此场景的推荐的最佳实践)。
国内最大最权威的 Kafka中文社区 ,在这里你可以结交各大互联网Kafka大佬以及近2000+Kafka爱好者,一起实现知识共享,实时掌控最新行业资讯,免费加入中~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)