压测问题总结

本文分享了压测过程中的经验和教训,包括Kafka参数调整、动账通知优化、指令处理改进等方面的内容,并强调了良好的代码格局和环境一致性的重要性。

 

        压测经历的痛苦无以言表,但是所获与成长是显著的。记录点点滴滴,都是汗与泪的总结。

 

 

 

--------- 动账通知 ----------

1.kafka 参数调整:

·socket.receive.buffer.bytes 6024100 -> 1024100 注:kafka和消费者必须保持一致。

·kafka建议增添监控措施。

·停止操作一定要规范,不然会出现僵尸进程,需要重启很麻烦。

 

2.动账通知消费者:

·max.partition.fetch.bytes -> 2097152。

·配置文件kafka.poolTimeout 由5000改成500。

·messageId进行统一化。

·参数尽量使用对象传递,维护方便。

 

3.动账通知的代理IHS需要注意配置。

 

---------   红包   ----------

1.拆红包的过程是Ajax请求,openId必须从session中获取。

2.将数据库的序列索引的高速缓存由 20改为1000(中行基本都是1000)。

3.在日期索引列添加反向索引,或者将日期详细化,以达到良好的哈希分布。

4.静态资源前置或者压缩问题,流量等于文件大小*8.

 

 

---------   指令   ----------

1.scala的隐式转换,在高并发时会出现问题。类加载器不充足问题。

2.代码最好有良好的格局,牛逼的代码,让人易懂才是首要前提。

 

 

---------   页面   ----------

1.减少数据库操作,尤其是可以以更优雅的方式解决的情况。

2.能再数据库中处理的逻辑,最好不要放在代码中。

3.减少接口的访问频率,以最大化利用接口访问信息。注:网络传输的代价更高!!!!

 

---------   挡板   ----------

1.配置文件初始化到内存,最大限度减少IO操作。

2.成员变量必须定义成final,在高并发是成员变量的误操作会产生大BUG。

3.开发代码一定要有管理工具,及时提交代码并填写注文。

4.开发必须实现定好规范,前期的繁琐会给后续问题解锁。

 

---------   其他   ----------

1.控制台日志必须关掉,有时会产生死锁问题,影响TPS 从250降到30。

2.环境务必保持一致,以便减少对环境问题的猜疑。

3.停止程序尽量不要强停,以更优雅的方式停止会更好,尽量使用钩子程序。

4.IHS中添加静态资源的缓存配置。

5.开发前一定明确业务需求,项目要灵活易扩展。

 

 

 

最后,问题还需要正面应对,逃避是糟糕的想法。

当单台Mac进行时,如果客户端Jmeter启动超过2000个线程,而Jmeter报OOM(Out of Memory)错误,有一些解决方法可以尝试。 首先,你可以尝试增加Jmeter的内存限制。可以通过编辑Jmeter的启动脚本来指定更大的堆内存大小,即增加-Xmx参数的值。例如,将-Xmx2g修改为-Xmx4g,表示将堆内存限制增加到4GB。 其次,你可以调整Jmeter的线程配置。在Jmeter中,每个线程都会消耗一定的内存资源。如果单台Mac的内存无法满足启动2000个线程的需求,可以考虑减少线程数,或者将任务分散到多台机器上进行。 另外,你也可以检查是否有其他资源导致内存不足。例如,Jmeter执行过程中可能会产生大量的日志文件,如果磁盘空间不足,也会导致OOM错误。此时,可以清理或增加磁盘空间。 最后,你可以使用Jmeter插件来优化性能。例如,引用中提到的自行开发的RocketMQ插件可以帮助更好地进行RocketMQ的。使用合适的插件可以提高效率,减少资源消耗。 综上所述,为了解决Jmeter时发生OOM错误的问题,你可以尝试增加Jmeter的内存限制、调整线程配置、检查其他资源是否充足,以及使用合适的插件来优化性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [7个常见的Jmeter问题总结](https://blog.youkuaiyun.com/okcross0/article/details/129148522)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Jmeter问题](https://blog.youkuaiyun.com/weixin_44370919/article/details/108864324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [jmeterRocketMQ的插件](https://download.youkuaiyun.com/download/weixin_40126600/85011909)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值