如何切入解决问题
线上遇到高并发的问题,由于一般高并发问题重现难度比较大,所以一般肥朝都是采用眼神编译,九浅一深静态看源码的方式来分析.具体可以参考本地可跑,上线就崩?慌了!....但是考虑到肥朝公众号仍然有小部分新关注的粉丝尚未掌握分析问题的技巧,本篇就再讲一些遇到此类问题的一些常见分析方式,不至于遇到问题时,慌得一比!
?...本地重现
首先我们可以准备一个并发工具类,通过这个工具类,可以在本地环境模拟并发场景.手机查看代码并不友好,但是没关系,以下代码均是给你复制粘贴进项目重现问题用的,并不是给你手机上看的.至于这个工具类为什么能模拟并发场景...,你可以想象是一个队伍有1000个人排队,最前面的5个,拿到了连接,并且执行业务时间为1秒.那么队伍中剩下的995个人,就在门外等候.等这5个执行完的时候.释放了5个连接,依次向后的5个人又进来,又执行...,才是关键.因为部分同学,在一些比较传统的公司,做的多是能用就行的CRUD工作,很容易一个service方法,就直接打上事务注解开始事务,然后在一个事务中,进行大量和事务一毛钱关系都没有的无关耗时操作,