Kafka性能测试分析

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 首先要特别感谢赵崇贺同学利用业余时间进行的压测,才能为本文提供专业的测试数据一、测试环境准备�Cpu�内存硬盘Intel(R) Xeon(R) CPU E5520 @ 2.

首先要特别感谢赵崇贺同学利用业余时间进行的压测,才能为本文提供专业的测试数据

一、测试环境准备

�Cpu �内存 硬盘
Intel(R) Xeon(R) CPU E5520 @ 2.27GHz 32G 6T

Kafka集群,服务器个数:3台
采用CMS垃圾回收

JVM运行参数

-Xmx1G -Xms1G -server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 
-XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true 
-Xloggc:/usr/local/kafka_2.10-0.8.2.2/bin/../logs/kafkaServer-gc.log -verbose:gc 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps 
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false
-Dkafka.logs.dir=/usr/local/kafka_2.10-0.8.2.2/bin/../logs
-Dlog4j.configuration=file:/usr/local/kafka_2.10-0.8.2.2/bin/../config/log4j.properties

Kafka server端配置

broker.id=165
port=9092
host.name=hadoop165.kuaiyong.in
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400


socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/download/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false

zookeeper.connect=hadoop165.xxx.in:2181,hadoop166.xxx.in:2181,hadoop167.xxx.in:2181

zookeeper.connection.timeout.ms=6000

测试命令行如下

生产者:

bin/kafka-producer-perf-test.sh --broker-list=hadoop02:9092 
--messages 100000 --topic s1 --threads 10 --message-size 1000 
--batch-size 200 --compression-codec 1

消费者

bin/kafka-consumer-perf-test.sh --zookeeper hadoop03:2181 
--messages 500000 --topic s1 --threads 1

二、正常请求测试

1、Producer:

数据量:230万条记录
每次打包发送1000条数据
数据格式:采用压缩格式

测试结果
最大处理量:39.2501MB/S
TPS:41156.6817条

2、Consumer

耗时:18秒
总体文件大小:2193.45MB
最大处理量:163.6659MB/S
TPS:171616.1767条

三、压力请求测试

1、Producer

数据量:1000万条数据
每次打包发送1000条数据
数据格式:采用压缩格式

测试结果
耗时:242秒
总体文件大小:9536.74MB
最大处理量:39.2531MB/S
TPS:41159.8856条

2、Consumer

耗时:70秒
总体文件大小:9536.74MB
最大处理量:145.4193MB/S
TPS:152483.1887条

结论:1000万条下的压力测试,性能有所降低,估计瓶颈期在500万条左右

目录
相关文章
|
28天前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
71 3
|
2月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
49 5
|
1月前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
32 4
|
1月前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
1月前
|
消息中间件 druid 大数据
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(二)
29 2
|
1月前
|
消息中间件 分布式计算 druid
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(一)
大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析(一)
49 1
|
15天前
|
消息中间件 中间件 Kafka
解锁Kafka等消息队列中间件的测试之道
在这个数字化时代,分布式系统和消息队列中间件(如Kafka、RabbitMQ)已成为日常工作的核心组件。本次公开课由前字节跳动资深专家KK老师主讲,深入解析消息队列的基本原理、架构及测试要点,涵盖功能、性能、可靠性、安全性和兼容性测试,并探讨其主要应用场景,如应用解耦、异步处理和限流削峰。课程最后设有互动答疑环节,助你全面掌握消息队列的测试方法。
17 0
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
70 1
|
2月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
69 4
|
1月前
|
消息中间件 druid Kafka
从Apache Flink到Kafka再到Druid的实时数据传输,用于分析/决策
从Apache Flink到Kafka再到Druid的实时数据传输,用于分析/决策
67 0