月亮链 月亮链
Ctrl+D收藏月亮链

COM:Tech at Klaytn技术系列:确认产生Cache问题的原因_MyPoints E-Commerce

作者:

时间:1900/1/1 0:00:00

KlaytnStateTrieCacheSeries#1:?确认产生Cache问题的原因

Klaytn为了提高区块链平台的性能,做了许多方面的努力。我们将通过下列文章介绍statetriecache性能改善过程。

??确认Cache问题的原因

??寻找最佳的Cache

??计算Statetriecachemiss

??进行?CacheSizeTuning

本篇将介绍进行Klaytn有关测试时出现的问题以及这些问题的来源-Go语言GC(GarbageCollector)。在进行Klaytn有关测试时,出现了下列问题。

<imgalt=""class="tuvhyaj-ukjx"?src="https://miro.medium.com/max/964/0*KSFKadBeRExUlkA6"width="482"height="321"srcSet="https://miro.medium.com/max/552/0*KSFKadBeRExUlkA6276w,https://miro.medium.com/max/964/0*KSFKadBeRExUlkA6482w"sizes="482px"/>

zkSync Era推出新证明系统升级Boojum,将协助网络过渡到STARK支持的证明系统:7月17日消息,zkSync Era宣布推出新证明系统升级Boojum,将协助网络过渡到STARK支持的证明系统。由于Boojum证明者仅需要16GBRAM,团队表示Boojum是证明者实现去中心化的重要步骤。此外,Boojum还将对zkSyncEra定序器提供性能补充。[2023/7/17 10:59:19]

利用Prometheus提供的API测试内存使用量

在Klaytnbinary中,以3500TPS处理transaction时,大约需要用到100G的内存。我们为了确认具体是哪里在消耗大量内存,利用Go语言所提供的内存分析工具,进行了确认。

??gotoolpprofcn-mem0.prof

File:kcn

BuildID:7b45b11c163a99518095ffb64083e4aa61fd321f

Type:inuse_space

Time:Mar26,2020at8:56am(KST)

Enteringinteractivemode(type"help"forcommands,"o"foroptions)

(pprof)top

Showingnodesaccountingfor41.91GB,96.33%of43.50GBtotal

0N1 Force宣布与Horizen Labs Ventures (HLV) 达成合作:金色财经报道,0N1 Force宣布与Horizen Labs Ventures (HLV) 达成合作,0N1 Force首席执行官表示,0N1 FORCE 渴望与 HLV 合作,探索新的机会并推动 Web3 及以后的发展。我们相信这种伙伴关系将在帮助我们实现长期目标方面发挥重要作用,[2023/5/7 14:47:54]

Dropped382nodes(cum<=0.22GB)

Showingtop10nodesoutof77

?flatflat%sum%cumcum%

?30GB68.97%68.97%30GB68.97%github.com/allegro/bigcache/queue.NewBytesQueue

?5.65GB12.98%81.95%5.65GB12.99%github.com/allegro/bigcache.(*cacheShard).set

?1.53GB3.52%85.47%1.53GB3.52%reflect.New

?1.25GB2.87%88.35%2.60GB5.97%github.com/klaytn/klaytn/ser/rlp.decodeBigInt

通过内存分析工具,我们可以看到每个部分所消耗的内存。在上述结果中,可以通过?Showingnodesaccountingfor41.91GB,96.33%of43.50GBtotal看到kcnbinary占了43.5GB,还可以看到其中的96.33%,即41.91GB具体用在哪里。不仅如此,通过30GB68.97%github.com/allegro/bigcache/queue.NewBytesQueue,可以看到有30GB(68.97%)用于bigcache上。

Milo Inu项目Token MILO登上binance热门榜并位居第四:据Binance数据显示,Milo Inu项目Token MILO登上binance热门榜并位居第四,过去30天涨幅达307%。过去24小时成交量近250万美元。此外,今日香港创新加密基金官方推特关注MILO官方推特并点赞了相关推文。

据悉,Milo Inu项目通过动画剧集丰富IP形象,分别延伸出NFT、实体公仔、周边产品、GameFi及电子竞技线下比赛等产业链。[2023/2/20 12:17:39]

??

这两个测试结果中,我们发现了问题。根据Prometheus所提供的内存使用library,kcn大约占了100GB,但内存分析结果(43.50GBtotal)表明,kcnbinary只占了?43.5GB。我们无法确认其余56.5GB(=100GB-43.5GB)的内存去了哪里。?

于是我们猜测应该是Bigcache占据了大部分内存。为了确认Bigcache是否占据了内存,我们在相同环境的2台服务器上设置了不同的cachesize进行测试,设置分别为30GB和0GB。2台服务器的top和内存分析结果如下。

(Top命令结果是GiB,Prometheus所提供的library的结果是GB,两者为相同的量)

Cypresssynctest

AWSInstance:m5.8xlarge

memorysize:128G

波场TRON账户总数突破1.4亿:据官方消息,2023年2月2日,TRONSCAN最新数据显示,波场TRON账户总数达到140,006,088,正式突破1.4亿。波场TRON各项数据稳中前进,波场生态逐渐强大的同时,也将迎来更多交易量。[2023/2/2 11:42:45]

cachesize:30G,0G

<imgalt=""class="tuvhyaj-ukjx"src="https://miro.medium.com/max/1484/1*BUBXxboSlBArnNSfLo4KDw.png"width="742"height="366"srcSet="https://miro.medium.com/max/552/1*BUBXxboSlBArnNSfLo4KDw.png276w,https://miro.medium.com/max/1000/1*BUBXxboSlBArnNSfLo4KDw.png500w"sizes="500px"/>

<imgalt=""class="tuvhyaj-ukjx"src="https://miro.medium.com/max/1484/1*KydRE8pnP0G5-3s5h9KVSw.png"width="742"height="366"srcSet="https://miro.medium.com/max/552/1*KydRE8pnP0G5-3s5h9KVSw.png276w,https://miro.medium.com/max/1000/1*KydRE8pnP0G5-3s5h9KVSw.png500w"sizes="500px"/>

Cumberland否认对Genesis债权达1800万美元,未清余额约为4.6万美元:1月20日消息,加密货币交易公司Cumberland DRW对Genesis Global Capital的金额提出异议,Genesis Global Capital称其欠Cumberland 1800万美元。

Cumberland DRW表示,将其列入破产申请中描述为“误导和不正确的信息”,未清余额约为46,064.34美元,没有从Genesis进一步借款,也没有额外的风险敞口。

此前消息,Genesis欠主要债权人共计38亿美元,包括Gemini、Mirana、Decentraland、VanEck等。[2023/1/21 11:24:15]

top命令结果(左:cache30G;右:cache0GB)

<imgalt=""class="tuvhyaj-ukjx"src="https://miro.medium.com/max/2156/1*pKdGJgwuIBTPgAjBH_JLNQ.png"width="1078"height="564"srcSet="https://miro.medium.com/max/552/1*pKdGJgwuIBTPgAjBH_JLNQ.png276w,https://miro.medium.com/max/1000/1*pKdGJgwuIBTPgAjBH_JLNQ.png500w"sizes="500px"/>

<imgalt=""class="tuvhyaj-ukjx"src="https://miro.medium.com/max/2156/1*0VudYV4vE8HnwT0bXF6CiQ.png"width="1078"height="564"srcSet="https://miro.medium.com/max/552/1*0VudYV4vE8HnwT0bXF6CiQ.png276w,https://miro.medium.com/max/1000/1*0VudYV4vE8HnwT0bXF6CiQ.png500w"sizes="500px"/>

GoMemoryProfiling结果(左:cache30G;右:cache0GB)

我们可以看到,被分配Bigcache的服务器其Top和内存分析结果中内存使用量分别为70GB和35GB,有35GB的内存追踪不到。而没有分配Bigcache的服务器其Top和内存分析结果中内存使用量分别为5GB和2GB,有3GB的内存追踪不到。?

通过以上测试,我们可以推断,若使用Bigcache,会占用大于分配额的内存。而就算不使用Bigcache,也会出现3GB左右的遗漏。当然,GC(GarbageCollector)的运作,可能令不管使用什么样的Go程序都有机会出现内存分析结果和实际使用量的误差。

而且,我们通过这篇文章可以得知,长时间占据大量的heap内存,并在分配时使用pointer的话,会消耗非常大的内存。

<imgalt=""class="tuvhyaj-ukjx"src="https://miro.medium.com/max/3200/0*E7gDbvMeS8E_YPgO"width="1600"height="572"srcSet="https://miro.medium.com/max/552/0*E7gDbvMeS8E_YPgO276w,https://miro.medium.com/max/1104/0*E7gDbvMeS8E_YPgO552w,https://miro.medium.com/max/1280/0*E7gDbvMeS8E_YPgO640w,https://miro.medium.com/max/1400/0*E7gDbvMeS8E_YPgO700w"sizes="700px"/>

GC(GarbageCollector)可寻找程序动态分配的内存中不再运作的部分,收回该部分的内存并分配给其他区域。为此,Go语言的GC(GarbageCollector)会对没有运作的区域进行确认,看是否被分配了内存。这时,用于确认的标志就是pointer,如果某个区域有很多pointer或占据了大量内存,GC在搜查过程中会消耗较大内存。

话句话说,在运行GC(GarbageCollector)之前,内存使用量为44GB,一旦开始运行,内存使用量就会增加100GB。再加上进行内存分析的时间刚好在GC完成运转后,所以只看到了运转前的内存使用量,即44GB。由于Klaytn分配的Bigcache量很大,所以GC一直在消耗更多的内存。

这类情况会导致系统突然出现内存不足的情况。因为Klaytn需要长时间运转,必须避免由于占用过多内存导致系统突然崩溃的情况。在下一篇文章内,我们将会介绍解决该内存遗漏问题的过程。

关于Klaytn

项目名称:Klaytn

英文缩写:KLAY

官方网站:https://www.klaytn.com/??

项目简介:Klaytn是以服务为中心的企业级分布式信任区块链平台,通过高效的“混合”设计,结合了公有链和私有链的最优功能。Klaytn与全球众多知名品牌的参与合作,通过共同的不懈努力,创建可靠的去中心化业务平台。Klaytn治理委员会是一个由跨国企业和组织组成的联盟,负责运营共识节点网络,推动生态系统发展。Kakao的区块链开发部门「GroundX」已正式推出Klaytn,并可用于商业用途。

来源:金色财经

标签:COMCACCHEACHMyPoints E-Commercebcac币价格APACHE币ach币香港牌照

欧易交易所app下载热门资讯
HASH:林轩论币:1.21比特币以太坊昨日晚间多单止盈通知_ASH

昨日晚间给的BTC/ETH操作建议多单已完美到达目标点位,BTC价格回踩至34400-34600区间多单布局,止损34200,目标看34800-35000-35200上方,有获利可分批离场.

1900/1/1 0:00:00
ENS:一文教你辨别“真随机数”和“伪随机数”_okex数字资产交易平台

很久以前流传着这样一则笑话:一个身患重病的人决定去动手术。在手术之前,他问医生:“这起手术的成功率是多少?”医生回答他:“只有1%.

1900/1/1 0:00:00
ERG:老A言币:1/19BTC上车的币友获利颇丰止盈出局_Cyber Doge

完美的布局加上精准的预判,老A又是收获颇丰。也恭喜老A的实仓币友获利满满出局。那么根据今天早间05时03分根据技术面分析出来的操作思路,之后进行分享,关注老A的币友都会收到老A获利的消息通知:.

1900/1/1 0:00:00
NCE:数 百 万 台 以 太 坊 4GB 显 存 显 卡 矿 机 还 能 做 什 么?_Volts.Finance

一颗256MBx32bitGDDR5显存颗粒价格 来源:金色财经.

1900/1/1 0:00:00
BDC:华汇资本:1.19 以太破新高 比特币蠢蠢欲动上涨在即_CROSSCHAIN价格

行情回顾比特币近两日依然处于高位震荡,昨日晚间至今天凌晨一路震荡下行至最低点位35398一线,而后开始回调,一直持续到今天下午,最高点位到达37527附近。目前币价在36800附近运行.

1900/1/1 0:00:00
加密货币:BI掌柜智能量化机器人2021年币圈量化趋势红利_RAVE

????2021年币圈量化趋势红利简单来说,量化交易就是利用人工智能技术,用数学模型去实现投资策略的过程。也被称为自动化交易,因为它可以用程序化交易代替人为的主观判断.

1900/1/1 0:00:00