'+'

'+this.tip+'

'+'
' ); this.title = ""; j_ptap(this).find('.gpe_page_tip') j_ptap('.gpe_page_tip').show(); }, function() {j_ptap('.gpe_page_tip').hide();j_ptap(this).children().remove();this.title = this.tip;} ); j_ptap('.gpe_page_user1').hover( function() { this.tip = this.title; j_ptap(this).append( '
'+'
'+'

'+this.tip+'

'+'
' ); this.title = ""; j_ptap(this).find('.gpe_page_tip') j_ptap('.gpe_page_tip').show(); }, function() {j_ptap('.gpe_page_tip').hide();j_ptap(this).children().remove();this.title = this.tip;} ); j_ptap('.gpe_page_user2').hover( function() { this.tip = this.title; j_ptap(this).append( '
'+'
'+'

'+this.tip+'

'+'
' ); this.title = ""; j_ptap(this).find('.gpe_page_tip') j_ptap('.gpe_page_tip').show(); }, function() {j_ptap('.gpe_page_tip').hide();j_ptap(this).children().remove();this.title = this.tip;} ); j_ptap('.gpe_page_user3').hover( function() { this.tip = this.title; j_ptap(this).append( '
'+'
'+'

'+this.tip+'

'+'
' ); this.title = ""; j_ptap(this).find('.gpe_page_tip') j_ptap('.gpe_page_tip').show(); }, function() {j_ptap('.gpe_page_tip').hide();j_ptap(this).children().remove();this.title = this.tip;} ); }); -->
한국어
자유게시판

QtumX, 벤치마크 테스트에서 10,000 TPS 달성

title: 퀀텀아이콘껀텀 2019.01.23 17:08 조회 수 : 2816 추천:2

QtumX, 벤치 마크 테스트에서 10,000 TPS 달성

추상

최근 QtumX에 대한 벤치 마크 테스트를 수행했습니다. QtumX가 10,000 TPS 이상을 처리 할 수 ​​있음을 보여줍니다. 이 백서는이 처리량 수준을 달성 한 방법, 프로세스 및 결과를 공유합니다.

 

소개

QtumX 는 Qtum 팀에서 개발 한 엔터프라이즈 급 블록 체인 시스템입니다. DApps (Distribentralized Application)를 더 많은 비즈니스 시나리오에 적용 할 수 있도록 높은 TPS (초당 트랜잭션) 및 블록 체인 확인 시간을 실현하는 것을 목표로합니다. 한편, 우리는 운영 비용을 줄이기 위해 스토리지 및 네트워크 소비를 최소화하려고합니다. Bitcoin UTXO 데이터 구조 및 Ethereum Solidity 스마트 계약과 호환되는 Qtum을 기반으로 개발되었습니다.

QtumX의 합의는 컨소시엄 블록 체인에서 널리 사용되는 PoA (Proof of Authority)입니다. PoA에서는 새로운 블록을 라운드 로빈 방식으로 채굴 할 수있는 광부가 여러 명뿐입니다. 이러한 광부는 탁월한 블록 체인 성능을 보장하기 위해 대용량 디스크와 고속 네트워크 연결을 요구하기 때문에 "슈퍼 노드"라고도합니다.

QtumX에서는 스토리지 및 네트워크 리소스에 대한 요구를 줄이기 위해 SCAR (Scalable Consensus Algorithm)을 도입했습니다 기본 아이디어는 블록 체인 네트워크의 트랜잭션 볼륨이 낮을 때 생성되는 블록을 늦추는 것입니다. 이제 SCAR의 첫 번째 버전은 다음 전략을 채택했습니다. 시스템은 mempool에 보류중인 트랜잭션이 없을 때 새로운 블록을 생성하는 것을 중지합니다 . PoA에서는 노드를 업그레이드하기 위해 광부가 필요하기 때문에 나중에 포크없이 업그레이드 할 수 있습니다.

예비

섬기는 사람

벤치 마크를 수행하기 위해 Amazon EC2 가상 서버를 선택합니다. 사양은 다음과 같습니다.

  • 8 코어 VCPU
  • 16GB 램
  • 30GB ssd / dev / nvme1n1 (170.55MB / 초)
  • 200GB NVME SSD / dev / nvme0n1 (434.44MB / 초)

명령 줄에서 CPU 정보도 확인했습니다.

$ uname -a 
Linux ip-172-31-15-163 4.15.0-1021-aws # 21-Ubuntu SMP Tue Aug 28 10:23:07 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux
$ cat / etc / issue 
우분투 18.04.1 LTS \ n \ l
$ cat / proc / cpuinfo | grep 코어 | 유니 
코어 CPU 코어 : 4
$ cat / proc / cpuinfo | grep 프로세서 | wc -l 
8
$ cat / proc / cpuinfo | grep "모델 이름"| uniq 
모델명 : Intel (R) Xeon (R) Platinum 8124M CPU @ 3.00GHz
$ cat / proc / cpuinfo | grep MHz 
cpu MHz : 3400.903 
cpu MHz : 3415.303 
cpu MHz : 3403.405 
cpu MHz : 3400.123 
cpu MHz : 3412.838 
cpu MHz : 3403.137 
cpu MHz : 3411.813 
cpu MHz : 3422.359

마디

블록 체인 네트워크를 형성하기 위해 3 개의 노드가 시작됩니다. 그 중 두 가지는 새로운 블록을 생성하는 광부입니다. 다른 하나는 RPC의 트랜잭션을 받아 들여 광부에게 릴레이하는 것입니다.

 

QtumX는 웹 애플리케이션을 사용하여 새로운 블록 체인에 대한 구성을 생성합니다. 우리는 벤치 마크 를위한 benchmarktest 라는 새로운 블록 체인을 만들고 그 구성은 이 페이지 에서 자세히 설명 합니다 . 블록 간격은 1 초로 설정되어있어 모든 트랜잭션을 1 초 이내에 확인할 수 있습니다.

세 번째 노드가 RPC에서 많은 수의 트랜잭션을 받아 들일 수있게하려면 "-rpcthreads = 100 -rpcworkqueue = 100"인수로 시작해야합니다.이 인수를 사용하면 RPC가 100 개의 요청을 병렬로 처리 할 수 ​​있습니다.

송신기

보낸 사람의 역할은 많은 수의 트랜잭션을 노드로 푸시하는 것입니다. 그래서 그것은 필요합니다 :

  • 많은 서명 된 UTXO를 준비하십시오.
  • 노드에 병렬로 전송하십시오.

자세한 내용은 qtumx-benchmark-script 의 소스 코드 인 bench.js를 참조하십시오 .

 

감시 장치

모니터는 생성 된 CPU 및 메모리 사용량, 블록 및 트랜잭션과 같은 광부 노드에 대한 다양한 정보를 얻는 데 사용됩니다.

CPU와 메모리의 경우 적합한 도구를 연구하고 마지막으로 psrecord를 선택 해야 했습니다. 이는 CPU와 메모리가 어떻게 변경되는지 보여주는 그래프를 그릴 수 있기 때문입니다. 블록과 트랜잭션의 경우 qtumx-benchmark-script의 list.js 라는 스크립트를 직접 개발했습니다 .

결과

매개 변수

벤치 마크는 180 초 동안 지속되었고 보낸 사람은 3 번 실행되었습니다. 매회 50,000 개의 UTXO를 준비하고 블록 체인 네트워크로 보냈습니다.

TPS

생성 된 블록과 트랜잭션은 다음과 같습니다. 10,000 트랜잭션 이상을 포함하는 5 개의 블록 (높이 1461, 1459, 1445, 1439 및 1433)이 있음을 알 수 있습니다. 이는 QtumX가 10,000 TPS 이상 을 처리 할 수 ​​있음을 증명 합니다. 트랜잭션이 없으면 QtumX는 스토리지 및 네트워크 리소스를 저장하는 새로운 블록 생성을 중단합니다.

우리는 또한 트랜잭션이 일정한 속도로 중계되지 않는 것을 발견했습니다. RPC를 통해 많은 양의 트랜잭션을 한 노드에 푸시하면 이러한 트랜잭션을 즉시 릴레이 할 수 없습니다 (INVENTORY_BROADCAST_INTERVAL이 QtumX에서 이미 1로 설정되어 있음에도 불구하고). 이는 코드에서 일부 뮤텍스 잠금으로 인해 발생하며 트랜잭션이 단일 노드에서 생성되지 않는 실제 상황에서는 발생하지 않습니다.

 

CPU

psrecord가 생성하는 그래프와 로그의 일부는 다음과 같습니다. 메모리는 일정하게 유지됩니다. CPU는 세 번째 시간에 최대 250 %까지 상승하고 평균 약 120 %로 유지됩니다.

 
 

미래

벤치 마크 결과에 따르면 QtumX는 10,000 TPS 이상으로 높은 성능을 보여 주며 낮은 스토리지 및 네트워크 소비량으로 네트워크로 전송 된 즉시 트랜잭션을 확인할 수 있습니다. QtumX는 DApps에 적합합니다. 특히 비즈니스 시나리오에서는 큰 장점이 있습니다.

https://blog.qtum.org/qtumx-reaches-10-000-tps-in-benchmark-tests-cee6452166fd

번호 제목 글쓴이 날짜 조회 수
공지 큐바오(큐백x)Qrc20 코인 출금방법 [133] title: 퀀텀아이콘슈퍼스테이커 2021.02.24 179884
공지 [Q-helper] 퀀텀 코어의 수량이 맞지 않게 표시되는 오류 해결 방법 [1] title: 퀀텀아이콘슈퍼스테이커 2021.01.24 151289
공지 연이자 약5% 슈퍼스테이커 운영중입니다 수수료3%(0.5개당0.015개) [12] title: 퀀텀아이콘슈퍼스테이커 2020.12.15 104755
공지 글쓰기 레벨 안내입니다. [59] QTUM 2019.07.09 105604
11952 퀀텀코어에서 빗썸으로 퀀텀보내기 질문 [5] 나리다솜 2025.03.09 2080
11951 퀀텀 하드포크 업그레이드 4,590,000 블록 (2025년 2월 15일) [2] title: 스텔라쿵 캐리커쳐 #1타이어 2024.12.07 1958
11950 다들 잘 계신가요? [4] title: 퀀텀아이콘Otum 2024.11.15 3299
11949 퀀텀 해킹 당한 듯 합니다. [4] 다온 2024.10.06 2143
11948 마지막으로 사과의 말씀을 남깁니다. [5] title: 퀀텀아이콘퀀텀교주 2024.09.21 2285
11947 크레이그 해밀턴 파커가 2020년에 했던 북한예언 타미한 2024.09.18 1614
11946 단톡방 비번 아시는분 쪽지좀 부탁드립니다ㅜ [1] JonyPark 2024.06.06 1827
11945 퀀텀코어 해킹관련 문의드립니다. [3] JonyPark 2024.06.06 4053
11944 QtumOS 대신 Raspberry Pi OS 설치로 해결했습니다. title: 퀀텀아이콘빵먹는곰돌이 2024.05.15 1724
11943 라즈베리파이 지갑버전을 이전으로 돌리고 싶습니다. title: 퀀텀아이콘빵먹는곰돌이 2024.05.11 1329
11942 라즈베리파이에서 지갑실행 오류가 나고 있습니다. [3] title: 퀀텀아이콘빵먹는곰돌이 2024.05.07 1850
11941 블라) 하이브-민희진 타임라인 정리 [1] 이상환 2024.04.25 2311
11940 출생아수 19000명 현실체감 이상환 2024.04.25 1834
11939 요즘 유행하고있는 아파트 입주 문화 이상환 2024.04.25 1647
11938 코인판에 좀 전에 누가 올린 글인데 [3] 불꽃 2024.04.17 2021
11937 다들 살아계신가요? [5] 갓퀀텀 2024.03.23 2171
11936 Qtum Core v25.1 출시 [2] title: 스텔라쿵 캐리커쳐 #1타이어 2024.03.05 2049
11935 4년만에 들어와본 퀀텀 커뮤니티~ [4] 차이 2024.03.04 1760
11934 퀀텀의 내일은 어떻게 될까요? [7] 불꽃 2024.02.21 2503
11933 날이 너무 춥네요. 강민2 2024.01.23 1356