对于这次琚哥分下来的任务,对 ActiveMQ进行调优。
干到现在,从发送速度300到现在的5000~10000,消费者处理速度50到现在的2000~~~中间多少辛酸路啊~
说说这个任务给我的教训和启发吧。
1.教训:不要理所当然的确认问题
对于问题的定位不够准确,没有细化,没有真正一针见血,一开始我老是调配置,老以为是配置的问题,网上四处去查查查,各种实验啊都没用,消费者速度根本上不去,快崩溃了。。。一个偶然的机会,在网上加了个网友咨询她,她说她也遇到消费者处理太慢的问题,后来她解决了,说有时候能过万,我去,羡慕死我了,后来偶然得知她能过万是因为她没有持久化数据,灵光一现,把自己的持久化那段代码去掉之后,速度也能达到5000~10000,瓦擦,终于找到问题所在了,然后理所当然的认为是数据库那边的问题,然后各种查各种查,什么同步啊,什么高并发的处理啊,乱死了,后来他给了个方向,批量处理!!!
第二天,我改成批量处理后,速度居然还没增加,奶奶的熊,原来不是数据库的问题,后面又定位每一行代码,终于发现问题了!!!
json转成bean的那行代码耗时太长了,最后的解决办法:不转bean了,直接用Map传递参数存到数据库。
2.话不要说太快
前面调到消费者处理速度 200条/s时,我迫不及待的跟琚哥说,没想到后面几次居然降回来了,真尼玛难堪!!!
做人要低调和稳重啊!!不能小孩子了。。。