00:00
那接着呀,咱们来看第二个哈,叫做背景的说明,这儿呢提到了有三个问题给大家呢,交代一下,第一个呢,就是在生产环境当中,我们遇到的一些问题都有哪些,大家你看一看,你是不是出现过啊,包括呢,你在面试当中,面试官去交互的时候呢?哎,这个说你在实际开发场景当中,场景当中都遇到过哪些情况呀,这个你是不是要能够说一说呀,那这呢给大家举了一些相关的案例啊,比如说内存溢出呢,是吧,该怎么办呢?给这个服务器应该分配多少内存合适呀,然后垃圾回收器的性能怎么进行调优啊,CPU负载标高了怎么处理啊等等等等啊这呢就是我们实际当中遇到的一些场景的问题,对吧?哎,这个不多说了啊。说下边这个呢,我们为什么要进行调优。啊,这个光想着调优呢,那为什么进行调优啊?突然一问,可能都有点儿懵是吧?说的直白一点啊,咱们调的目的呢,呃,直接上来看,是为了避免这样的三个事儿啊,第一个呢,是为了避免出现OM,那一出现OM整个程序不就挂了嘛,对吧,所以我们得防止出现OM啊,那第二个呢,就是哎,你出现OM了,那出现OM你肯定要解决这个OM了,对吧,毫无疑问啊,要解决这个OM的这个问题。
01:10
好,这是我们说的第二种情况,那第三种情况呢,啊,这个就是说减少for jc出现的一个频率。For这些呢,我们不可能说,哎,这个进行调约完之后呢,我们让报这些绝对的不出现,这个很多时候呢,很难达到,但是我们要减少它出现那个频率,因为for这些呢,是不是会导致呃,Stop the word是吧,就是我们这个暂停时间过长的话呢,会影响用户的一个体验啊,所以这时候呢,我们要减少for这些出现的一个频率啊,这就是我们为什么要进行调用。啊,我们说很多这个工程师啊,在面对这个GM具体的这个相关问题的时候呢,经常会感觉这个无从下手是吧,虽然说呢,对这个GM相关的一些这个理论知识啊,也看了不少,但是真正的在实操当中呢,就会感觉叫什么力不从心啊,会有这样的一个情况。那第三个点的话呢,我们叫不同阶段的一个考虑,这呢分成了三种场景,有上线前啊,项目运行的阶段,还有以呢,运行阶段当中出现OM了啊,这个呢,我们都需要,就是我们需要考虑的几个几个这个场景是吧?啊像这个上线前,那我们说在这个上线前的时候呢,这个测试的时候也经常会发现一些GM的一些问题,比如说这个CPU漏的过高了啊,这个请求延迟啊,啊包括这个GPS降低啊,是吧,这也都是啊,还有内存溢出,内存泄露啊等等这种情况。
02:27
那么项目运营阶段啊,运营阶段呢,我们希望它能够正常的去执行是吧,那真正的出现OM了,那我们就必须要进行一个处理了,所以呢,在运营阶段呢,我们需要进行是必要的生产环境的一个监控啊。对吧,啊进行一个监控,那我们这呢,就需要比如查看一些GC日志啊,哎等等这样的一个情况啊,那下边呢,自然而然的就会提到了,说哎,我们要进行一些监控,监控的依据都有哪些啊,那这呢,我们提供了这样的一些场景啊,也就是我们通过这样的一些手段呢,去做调优之前的一些准备工作啊。
03:00
好,那这里面提到了有运行的一些日志文件。没问题是吧,这个清楚啊,然后呢,异常的一个对战信息啊,这个有时候我们经常也会出现的啊OM啊等等的对吧?对战信息,下一个呢,叫做JC日志,那我们看一下这个me j c啊,For j c啊,或者叫me j c等等啊,它的一些日志的信息,那我们这个第五章是不是也是专门分析J些日志啊。啊,还有呢,就是我们程序在运行的过程当中啊,我们能够看到一些现成的快照,还有堆的相关的快照,那我们生成这个大文件来使用相关的工具呢,我们进行一个分析。啊,进行一个分析对吧,那这呢,其实都是我们要考虑的,这个就是进行调监控的时候的一些准备的一些材料啊。那么下边呢,涉及到叫调优的一个大方向啊,那合理的编写代码,充分并合理的使用硬件资源,合理的进行GM的一个调优,啊,这个呢,就是GM呢,只是我们其中的一个方向。真的,你想想,如果你这个程序呢,写的跟一坨那啥似的,是吧?啊,你说GM再怎么调是不是都无济于事啊。
04:05
啊,所以说我们GM呢,只是属于我们在代码啊,硬件资源呃,这个等等,哎,各个角度都OK的情况下呢,我们单独的来看一看GM的这个问题。啊,它只是我们整体这个提高用户体验的其中一个方向而已,啊这个大家一定要明确下来。好,这呢就是属于我们对这两块内容呢,进行一个概述。
我来说两句