買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > Pol幣 > Info

TPS:區塊鏈性能測試與優化-上篇_門羅幣cpu挖礦速度表

Author:

Time:1900/1/1 0:00:00

大綱

本篇文章目的是通過具體示例,介紹完整的性能項目過程,具體內容介紹區塊鏈性能測試中使用的:1.基本概念2.常用工具3.性能調優的常見情況這3塊內容涵蓋的內容非常多,每一個內容都有很多書籍和文章介紹,詳細的內容不會出現在本文中。基本概念

區塊鏈的性能測試,方法論上與傳統的性能測試沒有不同。性能測試有很多混亂的概念,這里我列出本文描述概念做一些定義。性能測試的定義

性能測試是對系統或者服務的性能指標建立監控策略,在特定場景下執行測試,分析判斷性能瓶頸并調優,最終得出性能結果來評估系統或者服務的性能指標是否滿足既定值。這里結合cosmos-sdk的simapp區塊鏈來解釋。1.需要明確指標,一般指兩類指標:技術指標、業務指標。技術指標一般是TPS,響應時間,資源利用率,對應到區塊鏈一般是指每秒可以處理多少筆交易?這些交易的響應時間或者統計結果是多少?在這種情況下系統使用的資源處于什么狀態?期望滿足的業務指標,應該來源于生產環境統計,以cosmos-sdk的生產應用cosmos-hub為例,其現階段出塊時間大約6秒,每個區塊中的交易數大多數小于10。期望的業務指標設定為TPS為100是較為合理的。。2.測試模型:是真實場景的抽象,描述業務模型是什么樣的。以cosmos-hub為例大致就是,分布在全球的區塊鏈節點,在驗證者節點約500個,活躍驗證者節點約為200的情況下處理交易。測試時可以按比例抽象實際情況。3.測試方案:包括測試環境,測試數據,測試模型,性能指標等。對比區塊鏈系統的測試,就是確定測試架構,準備好如1000個用戶,每個用戶余額1000stake這樣的內容。4.需要有監控:監控的對象有壓力機、區塊鏈節點、其他如負載均衡服務器等。云原生時代的監控一般是Kubernetes+Prometheus+Grafana。5.需要測試條件:硬件環境,測試執行策略等。例如:4C8G,前60秒,每秒增加10個線程。6.需要有場景:指性能場景,正式化的描述是:在既定的環境、既定的數據、既定的執行策略、既定的監控之下,執行性能腳本,同時觀察系統各層級的性能狀態參數變化,并實時判斷分析場景是否符合預期。性能場景,有時被稱為測試用例其實是不對的。7.要有結果報告:報告內容當然就是實際的指標數據。性能場景分類

動態 | 區塊鏈體育企業Chiliz與游戲平臺Enjin合作推出ERC-1155收藏品:區塊鏈體育企業Chiliz與游戲平臺Enjin合作為體育和電子競技行業打造了ERC-1155收藏品。兩家公司將為Dota 2、尤文圖斯(Juventus)和Socios.com合作伙伴提供不可替代代幣(NFT)。所有由Chiliz發行的NFT代幣都可以在Enjin市場的幫助下由球迷購買或出售。(U.Today)[2020/2/6]

1.基準性能場景:做單交易/接口的容量,為混合容量做準備。2.容量性能場景:混合容量測試是因為線上真實場景就是由不同的業務組成的,所以由這些業務按照不同并發比例發起梯度壓測就是混合容量測試場景。3.穩定性性能場景:核心就是時長,在長時間的運行之下,觀察系統的性能表現。這個時長的設置,應該來源于運維周期。4.異常性能場景:在強壓力之下,模擬異常。重要的性能指標

性能測試的指標有很多,比如:1.RT,ResponseTime2.HPS,HitsPerSecond3.TPS,TransactionsPerSecond,這里的Transactions在傳統的應用中一般稱為”事務“,在區塊鏈領域指”交易“4.QPS,QueriesPerSecond5.PV,PageView6.Throughput7.IOPS,Input/OutputOperationsPerSecond比較重要的指標有資源使用率、吞吐量、響應時間,服務提供方比較關心前兩者,用戶更更新后者。關于這些指標的一般情況引用PerformanceTestingMethodology(http://hosteddocs.ittoolbox.com/questnolg22106java.pdf)中的經典圖來說明,實際情況可能不同。圖中定義了3線3區域3狀態,這個圖值得多看看,能夠大致理解指標簡的關系。1.3線:Utilization,Throughput,ResponseTime2.3區域:LightLoad,HeavyLoad,BuckleZone3.3狀態:ResourceSaturated,ThroughputFalling,EndUsersEffected

動態 | 湖南大學成立省級“數字科學與區塊鏈審計重點實驗室”:據科技日報消息,12月15日,在長沙舉辦的“2019企業數字化轉型高峰論壇”上記者獲悉,湖南大學已成立“數字設備與區塊鏈研究院”,還成立了我國首個省級“數字科學與區塊鏈審計重點實驗室”,并開發世界首條電子信息供應鏈金融的區塊鏈平臺等。在此領域的研究與產業化進程均較為順利。[2019/12/17]

其他

1.一般需要在什么時候做性能測試。a.項目上線前,估計系統承載能力b.項目重構后,評估效果2.如果一個項目得到性能報告就終止,這樣就只是性能驗證。做完全面的性能測試,同時將系統調優到最優狀態,才算是一個完整的性能項目了。性能調優耗時長,還可能需要開發參與,代價高。區塊鏈性能測試區塊鏈的性能測試的指標最重要的是TPS與延遲,a16z的文章Whyblockchainperformanceishardtomeasure對此做了很有洞察的討論,說明了為什么這兩個指標很難測量和比較。其主要內容有以下方面:延遲

動態 | 嘉興市人民政府:打好“三張牌”推進區塊鏈產業高質量發展:9月27日,嘉興市人民政府官網發文《西湖區打好“三張牌”推進區塊鏈產業高質量發展》。 文章指出,一是科學引導,打好“政策”牌。制定出臺《關于打造西溪谷區塊鏈產業園的政策意見(試行)》,加大政策扶持和產業引導,鼓勵區塊鏈技術創新和應用示范。 二是搭建平臺,打好“產業”牌。著力打造省、市第一家區塊鏈產業園區——西溪谷區塊鏈產業園,浙江省區塊鏈技術應用協會、杭州市區塊鏈技術與應用聯合會進駐園區。 三是優化環境,打好“服務”牌。全力做好區塊鏈課題研究,加強與省、市區塊鏈協會的溝通聯系,及時了解會員單位發展動態,切實解決區塊鏈企業發展難題。建立組團式服務領辦機制、一站式問題解決機制和全方位考核評估機制,精準發力解決區塊鏈初創企業成長面臨的難點問題。組織券商、金融機構等業內專家上門服務,積極鼓勵區塊鏈企業對接資本市場,加快行業發展步伐,搶占區塊鏈競爭先機。(嘉興市人民政府官網)[2019/9/27]

延遲的這段時間的起點和終點如何定義?1.起點是用戶點擊提交還是交易到達內存池?2.終點是交易被第1個區塊確認?還是被第6個區塊確認?又或者是最終用戶收到接口響應的時間?3.有些區塊鏈系統對交易會等待一定延遲和到達一定數量才開始處理。這樣比較幸運的就是最后加入的交易,其處理延遲最短。4.對于上訴問題的一種折中方案是,即準確評估整個系統需要考慮延時的分布,而不是將其延遲看做單一數字。5.有些區塊鏈系統的交易處理是有優先級的,fee高的交易很快確認,fee低的相對慢些。fee的不同對交易的延時和TPS的統計是有影響的。吞吐量

中國銀行管理層:現在要引入區塊鏈,將IT架構過渡到集中式和分布式相結合:昨晚,中國銀行發布了2017年業績報告。相比起利潤、資產規模的穩定增長,中國銀行利用金融科技驅動業務新增長效果明顯。目前中國銀行已經展開多項創新技術應用,例如,在銀行業務中利用指紋認證、OCR識別、人臉識別、Face ID等技術,提升手機銀行的操作安全性與便利性。中行董事長陳四清表示,我們現在把科技引領擺在戰略發展的首位,目標是三年見成效,五年形成勢,將中行打造成金融科技公司。中行管理層進一步表示,過去銀行的IT架構是集中式的,現在要引入區塊鏈的科技元素,將IT架構過渡到集中式和分布式相結合。[2018/3/30]

區塊鏈中的吞吐量,即TPS(TransactionPerSecond)來衡量,這里的transaction顯示不是平等的,最簡單的例子就是以太坊中的交易,它可以是轉賬也可以是調用合約。因此,得出TPS需要指定T指代的是什么。另外一個實際的問題是,用戶其實不關心一個區塊鏈的TPS是多少,用戶只關心如何少用fee并盡快完成交易。從這個角度來講,TPS只對系統服務提供商有意義。基本工具

壓力工具

壓力工具一般用Jmeter或者特定應用專用測試工具如下:1.hyperbench/hyperbench2.hyperledger/caliper:Ablockchainbenchmarkframeworktomeasureperformanceofmultipleblockchainsolutions3.https://github.com/xuperchain/xbench4.…使用Jmeter應該是更貼近使用場景,更通用。一般與區塊鏈節點進行交互的方式有1.gRPC協議2.HTTP協議(REST接口)Jmeter支持的Sampler支持有HTTP,對gRPC協議的支持需要借助插件jmeter-grpc-request監控工具

中國電子技術標準化研究院院長趙波:已經為15個國內區塊鏈系統提供了功能測試服務:在2018全球區塊鏈(杭州)高峰論壇上,中國電子技術標準化研究院院長趙波表示:“該研究院組織開展了標準研制和應用推廣工作,發布了區塊鏈參考架構和數據格式規范兩項團體標準。同時,獲批了參考架構一項國家標準計劃。同時我們以參考架構為依據,開發了區塊鏈系統測試,已經為15個國內區塊鏈系統提供了功能測試服務。此外,我們也積極支持地方政府來推動區塊鏈技術應用和產業發展,目前我們聯合多個地方政府,比如杭州、貴陽、廣州、重慶等等,各個地方政府都在推動區塊鏈的技術應用工作。”[2018/3/26]

監控工具一般用Prometheus這工具可以監控的內容比較多,其生態如圖(https://prometheus.io/assets/architecture.png)。在測試區塊鏈應用的實踐中,一般是先使用docker-compose部署多個區塊鏈節點模擬正式進行測試的環境,因為正式的測試環境一般硬件配置較高,如果不是自建機房,使用云服務廠商的機器,費用昂貴,這樣做可以節約成本。docker-compose中可以限制容器使用的資源,如內存和CPU算力,甚至綁定CPU核心,對這些資源的監控可以使用cadvisor。為了驗證CPU限制是否準確,可以用stress-ng壓滿核心,看統計結果是否與限制值一致。

性能調優

一般遇到性能瓶頸的常見元原因會是網絡、CPU、磁盤IO。引發磁盤IO的瓶頸的操作有寫日志頻頻繁,打印不必要的日志,通過網絡訪問磁盤等。這些資源都會通過系統調用來完成,跟蹤系統調用,可以使用strace來查看執行了哪些系統調用,以及在這些調用上花費的時間等信息還可能遇到的問題是系統不穩定,可以表現為CPU使用率/TPS不穩定。如果在LightLoad區域選擇一定的并發壓力,TPS波動較大的話,可能就是系統設計得不好,需要找到原因和優化了。如果是CPU使用率不穩定,從CPU指令執行層面來看為CPU處于idle狀態的時長參差不齊。這種情況下的原因并不在于有CPU有idle,而是在于處于idle的時間段有長有短。需要借助Linux系統工具、程序對應的profilling工具來觀測,找到原因。分析工具

要解決性能問題,首先需要找到原因,尋找原因的分析工具可以參考下圖(https://www.brendangregg.com/Perf/linux_perf_tools_full.png)。這是Linux性能分析最重要的參考資料了,顯示了在不同子系統出現性能問題后,應該用什么樣的工具來觀測和分析。

磁盤IO

磁盤IO一般會導致系統瓶頸,磁盤IO棧比較長,分析起來難度不小。熟悉IO棧,有助于我們發現問題(https://www.thomas-krenn.com/en/wikiEN/images/c/c2/Linux-storage-stack-diagram_v6.2.pdf)

找到原因后,如果能夠通過調整操作系統參數或者應用系統參數優化性能是比較快捷的,如果需要修改代碼,則會涉及系統架構優化,會有涉及和編碼工作,調優周期會很長。下一篇文章將分享使用cosmos-sdk中的SimApp來進行性能測試以及在性能調優方面的方法。

Tags:區塊鏈TPSCPUMET區塊鏈工程專業學什么女生好就業tps幣行情門羅幣cpu挖礦速度表HYMETEOR幣

Pol幣
LAS:一文梳理MEV領域的關鍵進展,有哪些新趨勢與新玩法?_LASH幣

四個月前,我曾發表「MEV保護的四個象限」一文,討論破解MEV困境的不同方法。然而,幾個月以來,MEV領域發生諸多變化.

1900/1/1 0:00:00
APP:走向模塊化區塊鏈未來之路:Rollups-as-a-Service揭秘_區塊鏈

我們之前已經討論過未來數百萬個區塊鏈的樣子,一些是通用的公鏈,但其中絕大多數是用于特定的應用程序,即應用鏈.

1900/1/1 0:00:00
INK:Linea(ConsenSys zkEVM)測試網交互指南_SEN

隨著各大公鏈以及新項目接連發幣空投,ZKRollup系成為了所有羊毛黨們關注的下一個空投焦點。目前,市場上已經有多家項目在研究和部署相關產品,我們較為熟悉的有zkSync、StarkNet、Sc.

1900/1/1 0:00:00
COM:?Web3.com將于3月8日開啟DID早鳥憑證注冊_Compound Basic Attention Token

域名是互聯網的重要組成部分,為網站和在線服務提供唯一憑證。然而傳統的域名系統存在一些限制,例如中心化,并且限制域名所有者的控制權。此類痛點也是Web3.com希望進行突破的領域.

1900/1/1 0:00:00
DEF:下一個熱門敘事?全面解讀流動性衍生品質押賽道_ETH

以太坊將在4月12日迎來「Shapella升級」,之前鎖定的驗證者代幣被解鎖,將大大增加以太坊的流動性,最近幾個月,流動性質押平臺吸引了大量關注.

1900/1/1 0:00:00
ITA:一周融資速遞 | 21家項目獲投;已披露融資總額約為1.5億美元(3.27-4.2)_CAP

經Odaily星球日報不完全統計,3月27日-4月2日公布的海內外區塊鏈融資事件共21起,較上周數據有一定下降,已披露融資總額約為1.5億美元,較上周數據有大幅下降.

1900/1/1 0:00:00
ads