问答 有谁做过 kafka 的压力测试

我问问 · 2018年12月19日 · 最后由 我问问 回复于 2019年01月09日 · 2013 次阅读

机器配置

broker 机器配置
Cores (CPU): 32 (32)
Disk:1269.78GB/15137.57GB
Memory:125.80GB
带宽:1g

采用的是 kafka 自带的测试工具

kafka-producer-perf-test.sh

测试用例维度

不同线程数
不同批量数据
不同数据大小
不同数据压缩格式
数据总量
同步异步
不同分区数
不同备份数
不同 broker
目前情况,吞吐率一直上不去
本人大数据测试经验没有
问各位大佬,测试经验

共收到 12 条回复 时间 点赞
我问问 关闭了讨论 02月23日 17:52
Bob 回复

kafka_2.11-0.10.1.0

kafka 是哪个版本的呀,比较新的版本已经还有同步异步?

无所谓 回复

kafka 自带的工具,是 shell 脚本

用什么测试工具测试的,可以看看测试工具是否有瓶颈。 可以在测试事务统计里面多发几笔,例如发 100 笔计算一次事务。

我问问 回复

求分享经验:)

Bob 回复

测试环境没有那么高,我需要得出一些参数就行,当成 benchmark,已经做完了

我问问 回复

为么万兆网卡瓶颈还在网络上?

lyf 回复

谢谢,线上的是万兆网卡,目前的 kafka 压测结论已经得出,瓶颈就在网络上面

理论上可以利用多磁盘,分区数等于磁盘数,提高 IO,使用万兆网卡是另一个方向。但是越多的分区需要生产者和消费者都消耗更多的内存,另外越多的分区数量对于选举和恢复的时间耗费越多。建议:1,生产者的并发数与分区数成正比;2,消费者消费单个 topic 的并发送数<=分区数;注意,分区数影响单个 broker 支持的 topic 数量(具体要视机器调试)

首先,你得做呀,有数据才能分析,没数据分析毛。个人测试经验是因为队列数不足,要么异步执行释放资源,要么扩容。打个比方有 100 个人在买汉堡,麦当劳只有两个点餐窗口,但里面有 10 个准备食物的人,你只能在窗口领食物,这时工作效率只有 20%。如果要提高效率,这个时候要怎么办呢?扩几个点餐的窗口嘛。消息队列也是一样道理,多扩几个队列嘛。所谓的异步,就是类似麦当劳那种,先点餐再领餐。

0x88 回复

broker 3 台机器都是这样的配置

Cores (CPU): 32 (32)
Disk:1269.78GB/15137.57GB
Memory:125.80GB
带宽:1g

吞吐量上不去是资源不够,扩机器就好了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册