KlaytnStateTrieCacheSeries#1:?確認產生Cache問題的原因
Klaytn為了提高區塊鏈平臺的性能,做了許多方面的努力。我們將通過下列文章介紹statetriecache性能改善過程。
??確認Cache問題的原因
??尋找最佳的Cache
??計算Statetriecachemiss
??進行?CacheSizeTuning
本篇將介紹進行Klaytn有關測試時出現的問題以及這些問題的來源-Go語言GC(GarbageCollector)。在進行Klaytn有關測試時,出現了下列問題。
<imgalt=""class="tuvhyaj-ubxx"?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"/>
SEC使用Terraform裁決暗示Coinbase駁回動議攻擊計劃:金色財經報道,美國證券交易委員會 (SEC) 最近在針對加密貨幣礦商Green United的訴訟中提交的一份文件可能會揭示其如何處理針對Coinbase的案件。
在8月4日的一份文件中,SEC 表示,法院駁回了被告的論點,即‘重大問題原則’和正當程序條款‘阻止美國證券交易委員會指控該公司的數字資產是‘投資合同’。因此,Terraform Labs與此事相關,因為它提供了額外的權力來拒絕被告的’重大問題原則’和公平通知抗辯。
SEC的最新論點可能會揭示它如何處理Coinbase自己的駁回動議,該動議也是于8月4日提交的。[2023/8/10 16:17:36]
利用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)
趙長鵬:已凍結新代幣上市過程中內部人士關聯地址的200萬美元:3月30日消息,加密貨幣和金融研究員 FatMan 發推稱鏈上數據揭示了幣安上市有關的內部人士“秘密行動”,趙長鵬對此回應表示,已經凍結了與相關地址相關的 200 萬美元(他們從未要求重新索取),一直在與潛在的信息泄漏等作斗爭。[2023/3/30 13:34:25]
(pprof)top
Showingnodesaccountingfor41.91GB,96.33%of43.50GBtotal
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上。
Web3加密公司Junggl Media完成新一輪融資:金色財經報道,Web3加密公司Junggl Media完成新一輪融資,Northbrook Capital Start-up Fund投資,但未公開具體融資金額。Junggl公司將利用這筆新資金繼續擴展其在數字金融媒體、加密Web3和AI方面的產品,為媒體公司提供更全面的創新解決方案。(newsanyway)[2023/3/30 13:33:58]
??
這兩個測試結果中,我們發現了問題。根據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
cachesize:30G,0G
對沖基金和資管公司對美國國債的分歧或標志美聯儲緊縮周期結束:金色財經報道,美國商品期貨交易委員會(CFTC)最新數據顯示,杠桿基金在美國10年期國債期貨上的凈空頭頭寸已增至2019年以來的最高水平。然而,機構投資者的凈多頭頭寸已攀升至2006年以來的創紀錄水平。上一次兩者對美國10年期國債期貨的分歧如此之大,是在2018年底美聯儲即將結束緊縮周期的時候。野村證券駐悉尼的利率策略師Andrew Ticehurst表示,利率市場正在逐漸形成看漲的主題,越來越多的人認為美聯儲接近結束加息,美聯儲未來的行動可能不會像目前暗示的那樣強硬。[2023/1/23 11:27:19]
<imgalt=""class="tuvhyaj-ubxx"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-ubxx"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"/>
Alchemix將在10月1日之后執行將V1頭寸遷移至V2的自動遷移:金色財經消息,DeFi借貸協議Alchemix表示將淘汰舊的v1合約,并且開發了一個可輕松將V1頭寸遷移到V2的自動遷移工具。目前未進行遷移的V1用戶能夠在10月1日之前手動遷移或關閉V1頭寸,之后Alchemix會進行自動遷移,執行自動遷移后用戶需要使用新UI完成遷移。[2022/9/2 13:03:48]
top命令結果(左:cache30G;右:cache0GB)
<imgalt=""class="tuvhyaj-ubxx"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-ubxx"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-ubxx"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,并可用于商業用途。
來源:金色財經
原文標題:《WhatExplainsBitcoin’sResurgence?》原文來源:NicCarter原文編譯:0x88NicCarter作為CastleIslandVentures的合伙人.
1900/1/1 0:00:00導MichaelSonnenshein認為,廣泛的機構采用、良好的監管和北美加密挖礦的增長只是2021年將實現的主題之一.
1900/1/1 0:00:00一直相信,這世界上,有一種默契是可以沁骨的,猶如一種初相遇,不是在路上,而是在心里,沒有擦肩而過,卻會留下瞬間驚喜,不用回過頭去,那過往的漲跌,依然是心中的美麗,一波行情,一次感動,遇見單邊.
1900/1/1 0:00:00本文由中幣研究院原創編輯下載全球領先的數字貨幣交易所中幣APP:www.zb.center/download由于全球不確定性影響了主要金融工具,投資者傾向于規避風險.
1900/1/1 0:00:00摩根大通:如果美聯儲在周三僅加息50個基點,標普500指數可能在一天內飆升10%:金色財經報道,WatcherGuru發推表示,摩根大通稱,如果美聯儲在周三僅加息50個基點.
1900/1/1 0:00:00區塊鏈行業的發展史,是一個個區塊鏈項目的創新史,從無到有,從一枝獨秀到萬物生長,從比特幣劃時代的區塊鏈技術,到以太坊開創性的智能合約。每個成功項目背后都有其開創性,顛覆性的核心技術做支持.
1900/1/1 0:00:00