00:00
那还有一个就是咱们的分区索引功能,那这个功能呢,主要用的话,咱们还是在一三版本,针对一三来讲。呃,一三中增加了一个分区索引的功能,它是用DB本身它也有一个分区索引啊。它会简单来讲就是做多极索引嘛,就我刚才讲的是不是调一个level阈值啊。它是不是,如果阈值小,是不是它就。一会儿就分层,一会儿就分层啊,那这个层数是不是就很多啊对吧,那他现在什么意思呢。咱们这个flink做的这个功能,你想想你索引一多是不是也得占用资源,占用空间呢,那而且如果每次你一个索引对应的是一个小件的话。效率是不是也很,呃,就你你这个索引集数就特别多了嘛,啊等等,反正总而言之,言而总之就索引太多级了,太麻烦了,太占用空间了,那怎么办呢?很简单,他会把最上层的这一层。这一层啊,还是保留在内存里,当默认都在内存里吧,他现在不这么做,只把最高层的。
01:06
放在内存里,其他这些怎么办?不保留在内存里。那你要查的时候怎么办?它是什么呢?你需要的时候再加载回内存。也就是说,它的持久存储不会在内存里啊。长他不会常驻内存,那这样的话是不是目的是什么,节省什么节省内存。目的是这样你内,所以这个东西你要根据你的实际情况来讲,那么如果根据一些测试咱们得到啊,如果是内存比较小的场景,性能能够提升十倍左右。对吧,这个是你前面那些调完了,你可以尝试着说,诶我这个要不要试一下对吧,那这个就是没必要的时候,你也不用去管它啊,也不一定不见得一定是好。如果你内存明明足够大,你这不画蛇添足吗,对吧?
02:04
那这个参数呢,啊,也是有一个参数来指定好前面说了这么多。咱们怎么办,我直接把这一套。拿过来呗。你看我参数。通量本地恢复预定义选项对吧,快缓存大小调大到64 right buffer大小调到128,然后对应这个level阈值三百二五倍嘛。Buffer合并,呃,这个数量调成五个线程,四个合并数,三个分区索引功能开启。然后这个状态监测开启。那要把原来这个停了。
03:00
提交上去。这些也不建议说你在代码CS,因为你提交参数指定的话很方便,你可以很灵活去调整。写死了,你每次再重新改个代码再打包还是挺费劲的啊。其他都一样啊,资源你看一个G老大四个G的task manager,每一个MANAGER2槽并行度五对吧?啊,这个类还是这个Rose DB,这个类Rose DB啊求UV啊,其他都一样。刷一下这个图去掉。看一下这个报。这个增量我们也知道肯定是什么呢。每次都只是一个增量对吧。增量功能是开启了。那我们瞅瞅theatre这个延迟。
04:05
应该有一个later诶。找找啊,什么first value对吧。哦,不是不是这个theatre这个没有状态啊,是第二个theatre这个咱们有状态啊,你看。呃,咱们随便瞅瞅得了啊。你不一定直接就看到很多效果,这也不一定。这些指标,呃,咱们平常监控flink是不是用那个普罗米修斯。加法呢,对吧,这个可以很方便的集成,或者说呢,你可以用in Fla DB。
05:05
阿格法呢,反正都行,它还可以,反而flink都支持,都很简单,那你这些指标监控指标就可以持久化到那个格法纳上面,看起来就会舒服一点,不用再每次自己找的。Theatere啊,第atere matches。呃,是什么来着。咱们看个。再看个update。啊,随便看一看。他这个太小了,你看它后缀不提示啊。啊,随便点一个吧。可以看一下,简单看一下延迟啊,这个是平均延迟,这个是14000。14000,咱们算一下14000,咱们之前是不是算过14000。
06:05
那是不是等于0.014毫秒。你要至少从这个毒的性能上来讲啊。是不是有提升了?其实这个不一定会明显啊,可能你跑起来跟我跑起来不一样是什么,可因为我这个状态不是很大。另外呢,我这个性能也差不多。咱们影响读主要是快缓存对吧,包catch的大小。那这一块如果本身你这个broke catch就差不多够用的话,呃,你可能。是差不多,不一定谁大,所以你要看到这个。调高快缓存的一个效果的话,一定是你快缓存不太够用啊,就命中率不高,然后这个时候你从读的指标可以看到明显的差距,那么写的话就是这个update,你可以去看一下update相关的这些,呃,延迟有没有提升对吧。
07:01
状态的啊,对对吧,通过这两个指标,你就可以看到你的调优效果怎么样。到底是读还是写慢啊,这个都清清楚楚。那这个才多大?鞋鞋肯定比毒小,你看。现在就比他小才8000多对吧,那就是0.008左右啊,0.008毫秒,你看这效率可以吧,对吧,这效率还还行的。
我来说两句