00:01
第一部分啊,咱们把这个就是性能分析插件给大家做个配置,那这插件是做什么的给大家说明啊,就是通过这个插件它的主要作用是什么?比如说我现在在里边呢,我们做一个假如说一个添加操作,或者说一个查询操作,那这过程中咱在它在底层中是不是要执行这个所有语句,通过语句收缩操作,那这语句在执行过程中,它一共耗费了多长时间,咱通过这个性能分析插件可以看到,而通过插件咱可以排查到我项目中是哪条语句比较慢,那那个语句可以做一些优化啊,这叫性能分析插件,这个咱可以用它做一个配置,那咱下面把这个我们就来继续做一下。这过程比较简单啊,我就不画图了啊,它的做法怎么做?第一部分你在配置内中加上一个叫性能分析的一个插件,把这个配置进去,那我现在把它就放到咱的配置这种啊,直接咱给他拿过来。
01:05
这个东西啊,我把这注释都写清楚点啊,这是分页的,然后这是那个逻辑删除的。啊,逻辑删除插件,然后最后这个叫性能分析插件,把依赖我先引入啊,当然这个就是引入这个依赖,也可以用那个自动导包啊,但是我就不用自动导包了,因为自动导包有些东西大家看不到,我就手动导下啊,然后这位置你注意啊,但是实际项目中肯定是怎么方便怎么做。然后这个过程怎么做,这里边是一个固定结构,给大家解释一下什么意思啊,首先艾特B是那个插件,这是插件中的内容,在内容中大家看啊,首先有这行内容。那这一行内容是什么意思呢?我先来解释一下哈。这项内容就表示当前插件对你的什么环境起作用,那什么叫环境呢?咱一般来讲啊,在我们一个项目中,大体上有三种环境,哪三种我说一下,第一个环境叫DV,我这里给大家列出来啊,第一个叫DV的这么一个环境,第二个叫T,第三个叫PD,这是咱们项目开发中的三种环境。
02:16
啊,就说现在我这么设置,表示你对哪种环境生效,那你看我这里边写了一个叫DV和T,它对这两种环境生效,那这个环境都是什么意思,解释一下啊,第一个叫DV。EV什么意思?它的全称叫develop啊,就是一个开发,也就表示是一个叫。开发环境。什么叫开发环境?你注意啊,咱们现在写代码,这个环境是不是就叫开发环境啊?这是第一个环境,然后第二个叫test,这表一个叫测试环境,什么叫测试环境?比如我现在这个代码都写完了,咱把代码都进行了部署,最终要做一个测试,这个环境叫测试环境,但是不管你是开发和测试,这个只是我们自己开发人员去用的,在真正用户并没有用到我这个项目。
03:08
然后最后一个环境叫prod,这是什么呢?它理解为叫做生产环境。什么叫生产环境呢?就是你的项目真正已经部署好了,给用户去用了,比如说我们现在做这个在线教育项目,咱在网上已经把项目都发布了,然后所有人都能用到,这叫生产环境。所以现在咱开发中三种环境,DV开发环境,Test的测试环境,或说prod生产环境啊,这是三种环境,而我现在这么写,让咱这插件对这个开发和测试生效,因为生产环境中它就不需要生效,生产环境是咱都测试好之后进行了部署。如果你在生产环境中再加它,可能还会产生一些就是效率的问题或者性的问题,所以咱们对这两个生肖这是啊,我们加一个插件,然后这个加完之后,咱还需要做个步骤,就是设置一下你当前这损步的环境,怎么设置呢?我写一下啊,就是一段配置,咱们加到我们这个这K里边来。
04:09
然后在里边我加一下啊。我这里说一下,前面是固定的叫spring profiles active表示设置你当前环境里面有三个值,DV开发环境,T测试,PD生产环境,我们就改成叫DV,当我们改成DV,那这个插件可以生效。但是如果说你改成叫。POD。那这里边对PD是不起作用的啊,所以咱们第二部分需要改上你这么一个当前BOO这么一个环境,那就改成叫第一位环境啊,这是我们说的这么一个值。然后这个改完之后,最后我们来做测试啊,但是这测试中怎么来做呢?咱再看里边一个地方啊,大家看这行配置。啊,咱们看一下啊,给大家集到这个两件式种啊,这行配置中啊,咱看最后一个值有一个叫set max time这个单词各位应该都认识啊,设置是不是最大时间呀,它就表示啊,目前它如果说你的就是这么来讲,如果说你所有语句它的运行时间超过了这个时间,它就不执行了,如果你在这时间以内可以正常执行,这时间的单位是一个毫秒数,这里边我默认设置成100毫秒。
05:28
啊,这个啊是咱们写的这么一个代码,然后通过它可以做一个设置,这个就完成了,那做完之后咱来做个测试,看一下结果啊,为了明显我先改的大一点啊,就是咱再改的小一点再测试,比如现在我先改成200,然后改完之后我在里边啊,随便咱们加一条数据,就随便执行一个语句啊,执行哪个都可以,我就执行这个添加了,把这个咱执行。然后咱们啊,看我们配置完插件之后,目前它会有什么样的现象啊。咱们要看他那个最终这个输出的一个地方啊,看他会多出什么样的输出。
06:06
啊,这里边啊,我们执行了,然后咱看里边啊这个位置啊,它多了这么一个设置啊,就是多了一个地方啊,大家看啊,首先咱往上面看啊。前面这部分是咱做的这个操作,然后你往下看,你看这个位置啊。有一个叫time叫237,这是什么意思呢?它就表示啊,咱们目前只用这个语句耗费了237毫秒啊,就用这个语句237毫秒,但你发现啊,我刚才设置的是不是200毫秒,也就是说咱们现在执行时间超过了他这个200毫秒,所以它下面就给咱们报了一个错误,大家看错误是什么啊,往下找啊。但是这个错误在这里。大家看这错误啊,它叫做the circle,然后time to lunch。这什么意思啊,说你的语句是因为时间是不是太长了,超过了你的200毫秒啊,因为这个我就用这个比较慢,大家可以试着稍微大一点啊,然耐指盈,比如来一个。
07:07
500啊,大家试一下啊,就是现在你发现啊,这个效果就是我这位一个值,当你的语句的执行时间超过这个时间,它会直接给你报错,这效果就不出来了啊,比如现在我改的稍微大一点,咱再执行一下啊,还是这个语句执行。咱来看目前的效果啊,500应该够大,如果还不行,咱再改一个值啊。你这个啊,稍微有点卡,但是直行应该可以啊。我们在执行啊,被大家发现啊。现在应该成功了,然后你看啊,他这里写到目前的时间是148毫秒,而我刚才设置是500毫秒,他在500就是这个毫秒之间是不是执行了,所以这个可以正常执行啊,最终结果都可以了啊,所以这个叫性能分析插件,也就是说通过这个插件咱能看到当前语句的执行时间,看到它执行了多长时间,而我在里边设一个值,当你的语句执行时间超过这个值,它就不执行,当你在值以内它才可以执行啊,通过它咱可以排查到我们项目中是哪个语句执行时间慢,咱的语句或者这个代码再做一些优化啊,主要是它针对自由语句的这么一个执行时间的这么一个测试啊。
08:23
当然咱们也演示到了,如果你正确,就这个效果,如果你错误的话,会报个错误,就是咱们看到这个错误。啊,再看一下,就是它就这个什么兔浪啊,就是你雨之行时间太长了,它就不能再进行执行。这个啊,关于性能分析插件啊,咱做一个说明,这也是MP中给咱们就是带的这么一个功能啊,就是里边的这个。啊,咱们点出来了啊,所以大家比如自己给他实际操作一遍啊,这主要用于我们就是在项目上线之前,把我们的项目做到一个最优的这么一种方式,那用它来分析项目中哪部分执行效率低,然后再对那个效率低的部分做一些相应的优化。
09:07
这个啊,咱就说完了啊,然后里边就是咱说的三种环境,各位记住开发测试生产啊,帮你设置当前的环境。
我来说两句