链资讯 链资讯
Ctrl+D收藏链资讯

COM:Tech at Klaytn技术系列:确认产生Cache问题的原因_HTT

作者:

时间:

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

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

??确认Cache问题的原因

??寻找最佳的Cache

??计算Statetriecachemiss

??进行?CacheSizeTuning

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

<imgalt=""class="tuvhyaj-qjnu"?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"/>

DeFi Technologies全资子公司Valor宣布在北欧推出加密资产篮子ETP:金色财经报道,DeFi Technologies全资子公司Valor Inc宣布在北欧市场推出Valor加密资产篮子10(ETP),Valor加密资产篮子10 (VDAB10) ETP 为散户和机构投资者提供了对10种市值最大的加密货币的投资。通过每季度的重新平衡,多数字资产ETP使投资者能够快速进入,而无需设立专门的交易账户。[2023/7/12 10:50:41]

利用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

印度IT巨头Tech Mahindra将推出NFT市场:12月18日消息,印度IT巨头Tech Mahindra将很快在几周内推出NFT市场,以将其在区块链功能方面的进展货币化。Tech Mahindra区块链和网络安全领域的副总裁兼实践负责人Rajesh Dhuddu表示,创作者和名人将能够将他们稀有的数字艺术和纪念品货币化。(Outlook)[2021/12/19 7:48:25]

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上。

灵踪安全(Fairyproof Tech):Iron Bank合约有风险 项目引用须谨慎:灵踪安全团队(Fairyproof Tech)分析发现,造成本次事故的原因是Cream协议新引入的无抵押借贷功能Iron Bank相关合约存在漏洞被黑客利用。

Iron Bank大胆采用了无抵押+白名单方式让用户从资金池借款。这种方式一方面提高了资金利用率和灵活度,但另一方面增加了项目借贷的风险敞口,试图采用部分中心化的方式对冲这类风险。

灵踪安全(Fairyproof Tech)认为由于Iron Bank合约上线时间尚不长,未经过市场检验,因此存在较大风险。因此我们提醒所有引用了Cream项目代码的团队暂时不要上线Iron Bank功能,加强风险控制。我们后续会发布更进一步的细节。[2021/2/13 19:41:17]

??

这两个测试结果中,我们发现了问题。根据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,两者为相同的量)

国际货币基金组织报告:Fintech与区块链对于GDP增长有重要作用:国际货币基金组织在7月1日发布了一份名为《金融科技前景:后新冠疫情时代的金融包容性》的报告,其在报告中证明了Fintech(金融科技)与区块链在促进GDP增长方面的重要性,数字金融的采用的往往同时伴随高GDP增长。[2020/7/10]

Cypresssynctest

AWSInstance:m5.8xlarge

memorysize:128G

cachesize:30G,0G

<imgalt=""class="tuvhyaj-qjnu"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"/>

动态 | 瑞士在线零售商Digitec Galaxus开始接受比特币等的支付:据bitcoinist消息,瑞士在线零售商Digitec Galaxus宣布现在接受特定加密货币付款。这些加密货币包括BTC、BCH、BSV、ETH、XRP,BNB、LTC、TRX、OMG、NEO。所有交易均由第三方支付处理商Coinify处理,并收取1.5%的转换费。[2019/3/19]

<imgalt=""class="tuvhyaj-qjnu"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"/>

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

<imgalt=""class="tuvhyaj-qjnu"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-qjnu"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-qjnu"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,并可用于商业用途。

来源:金色财经

标签:COMCACTPSHTTonwchaincomethylenediaminetetraaceticacidtps币圈htt币价格

以太坊价格今日行情热门资讯
MOR:方清谈币:1.20ETH午间行情分析建议_TradeStars

1.20下午ETH行情分析及操作建议 Vitalik于5小时前向Coinbase转入600枚ETH:8月21日消息.

TUA:三分钟读懂Armor:DeFi保险Nexus Mutual代理商_StartFi

Armor预计1月发行代币,并分配7.5%代币给早期流动性提供者,其挖矿一旦开启,或将增加NXM保单和wNXM的需求。Armor.Fi是一个基于NexusMutual构建的DeFi资产保险项目.

MAX:币圈方旭:1.21早间BTC行情分析及操作建议_ING

行情分析: 金色算力云联合创始人洪睿:IPFS未来可期,发展稳定后市值能排到币圈前五:据官方消息,由开源矿池和火币主办.

EARN:YFI是否该增发?一文了解主流DeFi协议的代币分配情况_Pub.Finance

作者:dudesahn 编译:Defi之道 此前一份关于增发3333YFI以资助yearn.finance生态开发的提案,引起了一些讨论与争议,对此.

MAX:WEN生态基金会满存算力1816节点上线_SRC

2020年新年刚过,传统的春节还没有到来,币圈市场已经是牛市冲天。比特币一度达到4万美元创历史新高,以太坊也是刚刚达到1400美元的历史新高,DOT、LINK、KAVA、NEAR包括小币种WGG.

:爱库存如何入驻?爱库存入驻有什么要求吗需求是什么呢_

云货优选如何盈利? 云货优选是属于分享经济,分享经济在我们的身边其实挺多的平台在做的,但是很多的都是在凑人数,真正在做实事的其实没有几个,因为他们有一个等级制度卡着,云货优选的制度相对透明.