00:00
好,那接下来我们看一下这个病因度。啊,第二款病因度的一个设置,呃,那么病因度的一个设置呢,第一第一个我们讲的是最优病因度。A的并行度,对吧?我们应该如何找到这个最优的一个并行度?对吧,首先呢,在开发完之后呢,我们要进行压测。啊,对吧,啊,当然无所谓,这个边形度呢,你给一或者说给二给什么都可以啊,无所谓。对吧,然后呢,测试这个单个变度的一个上限,你给100。对吧,一个这个平行度啊,然后去做压测啊,去做压测好,然后呢,算出假如说你给的不是一啊,不是一,假如给的是二或者五这些东西不是一啊,那就总QS。啊,就最后算出来,算出来总QBS除以这个单个变的处理能力,就是你要的这个并行度。对吧,比方说我这边给的是一个啊,我血压测的时候给的一个好,前面呢,我测试的是25兆每秒,25兆每秒没有产生反压,没有产生反压,我再加对吧,加到30兆每秒,哎,可能这个时候产生反压了,我发现29兆每秒都没有,哎,到30兆产生反压了,那就一个变一度的上限,那应该就是29兆每秒。
01:17
对吧,注意这个地方在实时我们一定要带上这个单位多少多少兆每秒,而不是像离线直接多少多少兆,对吧,啊就没有什么每秒,因为实时嘛,你不可能说按照天去算它这个数据量,我们肯定按照这个高峰期对吧?啊得到它这个变异度啊好,那接下来就问你压测怎么测。我之前聊过啊,如果现在让你做弗林的压测。你会怎么做?忘了。
02:07
对了啊,我们要积压卡夫卡的一个数据,对吧?啊,积压卡法数据来做我们弗Li的一个压测啊,当然还有另外一种就是说我去正常消费,然后前面造数据的时候,我造的更快一点,我自己模拟。数据生成对吧,我自己去模拟数据生成这样的方式也可以啊,当然其实积压卡夫卡数据呢,呃,可能更操作起来更方便一点,对吧?啊,可能更方便一点啊行啊,然后呢,我们是根据这个高峰期进行一个压测。对吧,然后呢,呃,变异度是1.2倍啊,比方说我高峰期是50兆。50兆每秒,我可能测出来呢,十个变度就不会产生被压反压,对吧,它正常的50兆每秒,我一直拿50兆每秒跑了一个小时对吧,跑了一个小时,或者说跑了这个十几分钟,它都没有问题,它都没有问题,对吧,那十个密度都够了,那接下来呢,一般来说呢,我们调成12个。
03:11
或者15个对吧,1.2~1.5倍,1.2~1.5倍啊,因为防止后来呢,我们这个地方估测估算的不准对吧,防止这个事,第二个未来数据量可能会怎么样增加啊,可能会增加对吧,是这样的一个情况,所以说呢,一般就这样子啊,一般这样子对吧,这是最优变动的一个计算方式,是这样子的,好那接下来具体的看S端,S端呢,比较简单啊,如果说我们是这个卡夫卡。那就是。画了一个分区。啊,就是卡夫卡的一个分区对吧?啊,那等于分区数就是最优的啊,那当然如果说我们,嗯。要高于这个卡卡分区,资源浪费,如果低于,可能消费的更慢啊,但是如果已经达到这个卡卡的分区了,消费速度人跟不上生产速度。
04:04
啊,人家跟不上,那这个时候我们可以去考虑。扩大分区的同时调整这个。行动。扩大分区,本来是五个分区对吧,本来是五个,五个呢,我已经是五个了,还是会有这个数据不行对吧,产生的这个反压消费过来啊,或者说有数据积压或产生反压啊呃,那这个时候呢,我们可以把它调成什么八个左右对吧,八个,然后呢,这边频度也调成八个。但这个一定放在最后一步去操作啊,你先增加一些资源去看一看啊,大家知道为什么我们说把卡夫卡的分区调大,然后同时调整并行度,这个要放到最后去操作。能想明白吗?为什么要放到最后就操作,不要一上来,哎,不够了就增大分区对吧,调整明晰度,不要一上来就做这个事,为什么。
05:23
不知道吗?算子速度提升了,自然解决了卡法尔消费不足,呃,这个没问题,那我增加病度。我增加并行度也可以啊,但是这两个都行对吧,我说了就是你最后一步才去操作这个事情。才去增加密度。对,主要是这个点啊,范总错位了,就是卡卡的分区分区数啊增加它是一个不可逆操作。
06:05
它是一个不可逆操作。啊,主要在于它是不可逆操作,就是说你把分区增加上去了,有同学总说这个遇到双11的时候怎么办,对吧,增加分区数啊,不要这样,优先肯定是加资源,优先肯定是加资源,因为你一旦把卡巴卡的分居数升上去了以后,你双11过了。对吧,资源这个问题啊,双11过了,我可以把资源降下来,对吧,申请资源的时候,我把任务重新提交一下都可以啊,但是你一旦卡不卡的分区数上去了,不好意思,双11过了你还得是这个分区。因为分区的增加,它是一个不可逆操作,对吧,它分区只能增不能减,这个主要问题,所以说你要把它放在最后去考虑,不要一上来就做它啊,因为把它解决了,你你接下来所有的时候都是这个病度了,对吧?啊是这个问题啊好,然后这个是后面呢,就是如果边度多个对吧。
07:10
会有资源浪费啊,多余的时候,第二个transform transform的配置呢,如果说我们是K之前,它主要分为两个,一个K之前和K之后,KPI之前的话,KPI之前的话,那往往来说呢,我们做的是一些map Fla map对吧,它处理的速度比较快,那跟S的进度保持一致就好了。啊,也就是说不用去改它的一个变硬度对吧,那KBY之后,KBY之后啊,K败之后呢,就是说如果偏差较大,那我们就提高变异度啊,这里边对于关于二的整次幂只是一个习惯问题,因为呃,我们的像我们slo里边内存啊,或者说还有我们的这个合数啊,这些东西对于我们整个机器来说,它都是二的整数倍。二的整次幂往往来说都是这样的,对吧?啊,所以呢,刚好就是匹配上这个内容啊,如果说你是小编发任务,假如说你这个任务呢,数据量并不大,那也无所谓,你也不用调了,这个其实讲的就是说,如果说你的业务很复杂。
08:11
比较大,那你就提高定定型度对吧,如果说小一点,那就不用提高了啊,就这个事,好那接下来think端的transform这个还好啊,Transform倒还好啊,就是KPI之前和KPI之后啊,呃,KPI之后呢,主要你就考虑数据倾斜问题就行了啊,主要考虑数据倾斜啊好,那接下来呢,我们看一下这个S端的一个变度的一个配置啊,S端呢,那当然也要看你是往哪写。啊,你是往哪写,如果是往卡布卡写呢。还是一样的,跟卡夫卡的分区数是一致,够了。对吧,跟卡夫卡的分区数保持一致啊,跟卡卡的分区数保持一致对吧?好,那如果C格端数据量小,比较常见的。报警功能。
09:00
这种预警功能对吧,它数据量确实很小,因为很多数据都过滤掉了,因为它警告数据肯定很少啊,对吧,那这个时候B动呢,不用大啊,那如果说S端与下游系统进行交互,那这个时候你一定要考虑这个交互的一个延迟。对吧,啊,一定要考虑这个交互的一个延迟啊,你可以用批量,假如说你这个下游,比方说啊,下游的一个撑不住这么高的一个并发这个写入,那你也要把这个并发调低一点。对吧,它这个病孕度调低一些,然后还有还有一个点就在于啊,那关键在于,就算你病孕度调低了,我有十条数据,我还是写十次,所以这个时候呢,往往我们想到用批量提交的方式,就类似于我们之天写click house,我让五条数据,五条数据提交,对吧?而不是来一条提交一条,来一条提交一条,我让他五条一提交是不是。对吧,我做的是这样的一个事情,哎,并不是来一条提交一条,但是有可能同学想到了,那我一直来的什么呢?来的这个,呃,13条数据啊,只来了13条数据,只写了十条数据,数据还有三条写不出去了,还有三条写不出去了,不是这样子的,因为我们只设置了一个五,对吧,他还有一个什么,还有一个按照时间对吧,如果时间到了,就算不足五条,它也会写出去啊,它也会写出去对吧?是这样的一个情况啊,就是说你考虑一定要考虑下游的这个情况。
10:28
假如说来一条写一条,来一条写一条,我们那个DWS还好一点啊,DWS还好一点,因为我们做了十秒的开窗,对吧,假如说不做开窗,来一条写一条,来一条写一条,这个时候往往有可能我们下游任务就崩了,对吧,你稍微前面速度快一点,下游的就有可能会崩掉。对吧,扛不住了,扛不住这个压力的,所以两种方式啊,一种呢,降低密密度啊,降低密密度呢,同时还可以用批量写入啊来代替,对吧,防止下游被称挂掉,因为S端嘛是往下游写,对吧,如果是卡夫卡的话,都好说,直接对应的卡夫卡的一个分支柱,对吧?那如果其他的框架你还要考虑一下其他框架对吧?好,这是我们所说的B度的一个设置。
11:12
啊,就是第一个最由必度计算,你要知道就是用高峰期做压测得来的,那另外就是source transform single端关于这个并度的一个设置问题,对吧?因为在fli当中,我们是任何一个算子在后面点可以设置它的一个变度的,对吧?啊,设置边度的,所以呢,这个地方你可以s transform s3个频度都不一样,完全可以对吧。
我来说两句