记一次RocketMQ的压测小结

一、背景

前段时间公司有个项目要测试RocketMQ队列的消费处理能力,本人遇到了一些坑,最终都得到了解决,于是便有了这篇文章(最终开发的jmeter插件见文章末尾)。

二、遇到的问题

1. 数据编码

2. 多线程并发

3. 队列的堆积

三、问题分析和解决

问题一MQ报文乱码

现象:查看采集平台MQ中的被消费的日志,开发人员发现有部分报文乱码。

原因:开发人员通过查看后台日志,发现日志中某字段值为乱码,经排查,此字段值通常由汉字组成。

解决方案:在脚本发送请求时增加编码字段,并将message设为utf-8编码,如图:


经修改,开发反馈请求返回预期报文了:


问题二多线程并发,连接MQ服务器后,启动生产者失败

现象:按TPS梯度稳定发压场景,500TPS-2500TPS,需要多个线程并发以支持设定的TPS梯度,异常日志提示“The producer service state not OK, START_FAILED” 和“The producer service state not OK,CREATE_JUST”两种异常。

原因:经与开发沟通并自查脚本,每一个线程的生产者组名和实例名不可重复,于是修改脚本,对生产者组名和实例名进行参数分块;

重新发起多并发请求,仍然有上述异常请求出现,于是查看java sample中的具体请求代码,经过本地多次调试,最终定位是成员变量中producer和producerName设置为静态变量导致;


解决方案:将去掉producer和producerName中static关键字,重新打包放到..\lib\ext下,本地多线程并发测试通过,如图:


问题三如何通过查看队列堆积情况,确定消费者的处理能力

方案:按TPS梯度稳定发压场景,开始执行场景后,实时监控队列的堆积情况,当监控到队列中有明显的消息积压,并呈现有加大的趋势时,则判定在特定场景下此时达到消费者的最大处理能力。

分析:我们在此次压测中,通过按照TPS稳定发压,队列监控人员实时监测:在1400TPS之后出现10条以上的消息堆积(此前一直保持在10条以内),并且堆积逐渐加大,我们认为此时达到消费者最大的处理能力;经过压测后组内复盘,我们认为之前的策略存在一定的问题,因为在请求结束后,积压的消息可能在几秒内就消费完了,按照之前的策略评估会导致消费者能力偏悲观。

最终方案:根据分析,组内认为3秒内处理完是用户基本可接受的,因此消费者的最大处理能力应该是当队列中堆积消息达到当前TPS的3倍时较为合理。

四、特别说明

问题二中,我们实际对脚本做了两次调整,两次均为必要调整;另外生产者组名和实例名进行参数分块,最少保证对这两个入参中一个分块即可。

本文最终开发的jar包(jmeter插件)可参考以下:

https://download.csdn.net/download/weixin_40126600/85011909?spm=1001.2014.3001.5501

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容