Endpoint Node 싱크가 너무 늦습니다

현재 Endpoint Node를 구축 테스트를 하고 있습니다. Fast Sync를 위해 체인데이터 스냅샷을 이용하여 셋업을 하였는데, kend 기동 이후 싱크가 너무 늦는 상황입니다.

운영환경

  • 하드웨어 : GCP의 e2-standard-8(vCPU 8개, 32GB 메모리)이며, AWS의 m5.2xlarge 에 준하는 성능입니다.
  • VM 위치 : 서울
  • OS : Ubuntu 20.04 LTS
  • kend release : v1.5.0 / Cypress이며 Linux 아카이브(tar)를 이용하여 설치
  • 스냅샷 : cypress latest를 이용하였습니다.

현 시점 blocknumber 확인

> klay.blockNumber 
33992254

peer는 현재 2개가 지정되어 있으며, 같은 시점 peer의 blocknumber대비 차이가 많이 납니다. (16만 블록)

> admin.peers
[{
    caps: ["istanbul/64"],
    id: "3253990d3c28c09aa60484e428792f8389603f1886c96a0c46e440990f6bda0be69a421492510a21a08a23824ec2de2864b163dd697796ed455ccf784d90e461",
    name: "Klaytn/v1.4.2/linux-amd64/go1.13.3",
    networks: [{
        inbound: false,
        localAddress: "10.178.0.2:59164",
        nodeType: "pn",
        remoteAddress: "13.228.117.151:32323",
        static: true,
        trusted: true
    }, {
        inbound: false,
        localAddress: "10.178.0.2:44744",
        nodeType: "pn",
        remoteAddress: "13.228.117.151:32324",
        static: true,
        trusted: true
    }],
    protocols: {
    istanbul: {
        blockscore: 34154167,
        head: "0xbe68a69be7e7b7399d3b9983255cecfa94f82caa356488efbb2095dff1f23bfa",
        version: 64
    }
    }
}, {
    caps: ["istanbul/64"],
    id: "d8e7917913f8056b435aa2774f5fce9292007ec860d32d10e9e037ae6a489d5985d4421ecb1241bb6a587ad8145f7b256a3501a0fda064757213fddada22ef71",
    name: "Klaytn/v1.4.2/linux-amd64/go1.14.1",
    networks: [{
        inbound: false,
        localAddress: "10.178.0.2:36862",
        nodeType: "pn",
        remoteAddress: "54.95.22.119:32323",
        static: true,
        trusted: true
    }, {
        inbound: false,
        localAddress: "10.178.0.2:52260",
        nodeType: "pn",
        remoteAddress: "54.95.22.119:32324",
        static: true,
        trusted: true
    }],
    protocols: {
    istanbul: {
        blockscore: 34154167,
        head: "0xbe68a69be7e7b7399d3b9983255cecfa94f82caa356488efbb2095dff1f23bfa",
        version: 64
    }
    }
}]

logs를 보면 블럭을 받아오는데, 시간이 많이 소요되는 것 같습니다. (elaspsed가 10s 이상 부분을 보고 그렇게 판단.) 실제로 로그를 싱크하는데 걸리는 시간이 블럭 생성 시간보다 늦는 상황입니다.

INFO[07/25,18:51:55 Z] [33] [Dial] Add dial candidate from static nodes  id=c378208d4d09e95a NodeType=3  ip=49.50.167.22  port="[32323 32324]"
INFO[07/25,18:52:25 Z] [33] [Dial] Add dial candidate from static nodes  id=301c8d7d8f3b0352 NodeType=3  ip=27.96.131.182 port="[32323 32324]"
INFO[07/25,18:52:55 Z] [33] [Dial] Add dial candidate from static nodes  id=c378208d4d09e95a NodeType=3  ip=49.50.167.22  port="[32323 32324]"
INFO[07/25,18:52:59 Z] [5] Imported new chain segment                number=33962898 hash=adc73f…9e6750 blocks=3  txs=5  elapsed=1m15.387s trieDBSize=807.66kB mgas=3.358  mgasps=0.045
INFO[07/25,18:53:09 Z] [5] Imported new chain segment                number=33962904 hash=bb2697…ffaf4c blocks=6  txs=12 elapsed=10.339s   trieDBSize=1.00mB   mgas=1.506  mgasps=0.146
INFO[07/25,18:53:24 Z] [5] Imported new chain segment                number=33962913 hash=00e2bb…1b4c94 blocks=9  txs=18 elapsed=14.825s   trieDBSize=1.35mB   mgas=5.298  mgasps=0.357
INFO[07/25,18:53:25 Z] [33] [Dial] Add dial candidate from static nodes  id=301c8d7d8f3b0352 NodeType=3  ip=27.96.131.182 port="[32323 32324]"
INFO[07/25,18:53:34 Z] [5] Imported new chain segment                number=33962921 hash=7f7a64…59b2fb blocks=8  txs=17 elapsed=10.111s   trieDBSize=1.53mB   mgas=2.129  mgasps=0.211
INFO[07/25,18:53:45 Z] [5] Imported new chain segment                number=33962932 hash=565b08…2d4fef blocks=11 txs=24 elapsed=11.261s   trieDBSize=1.91mB   mgas=3.316  mgasps=0.294
INFO[07/25,18:53:55 Z] [33] [Dial] Add dial candidate from static nodes  id=c378208d4d09e95a NodeType=3  ip=49.50.167.22  port="[32323 32324]"
INFO[07/25,18:53:55 Z] [5] Imported new chain segment                number=33962943 hash=72bca8…efd462 blocks=11 txs=26 elapsed=10.120s   trieDBSize=2.18mB   mgas=8.452  mgasps=0.835
INFO[07/25,18:54:07 Z] [5] Imported new chain segment                number=33962950 hash=36a7f6…9f1004 blocks=7  txs=22 elapsed=11.516s   trieDBSize=2.42mB   mgas=2.760  mgasps=0.240
INFO[07/25,18:54:19 Z] [5] Imported new chain segment                number=33962955 hash=bc7fa7…c9cdeb blocks=5  txs=15 elapsed=11.569s   trieDBSize=2.72mB   mgas=2.545  mgasps=0.220

현재 시스템의 CPU 사용률은 5~10%, 네트워크 사용률은 간헐적으로 1Mbps 미만 발생합니다. tar파일을 받을 때 네트워크 MAX가 100Mbps (Gigabit)임을 봤을때, 현재로는 CPU나 네트워크에도 병목은 없는 것으로 생각하고 있습니다.

초기 셋업 이후 현재 12시간정도 가동하고 있으나, 싱크률이 블록 생성률보다 훨씬 벌어진 상태입니다.

혹시 싱크가 늦는 원인이 있을까요?

감사합니다.

1개의 좋아요

안녕하세요, 클레이튼 포럼에 질문을 올려주셔서 감사드립니다.

disk성능이 문제가 될 부분이 있어보입니다. disk IOPS가 얼마나 될까요? 3000 이상을 권장드립니다.

1개의 좋아요

안녕하세요. 빠른 답신 감사드립니다.

안그래도 AWS에서 권장 사양(m5.2xlarge, Amazon Linux 2)으로 병행 테스트를 하는 상황이었습니다.

AWS의 경우 fast sync 초기 작업 직후 블록이 10만여개 정도 차이가 났었는데, 서버를 가동하고 3~4시간 정도 지나니 최신 블록까지 따라잡은것을 보고 의문이었습니다.
제가 GCP쪽에선 SSD가 아닌 HDD로 설정을 하였는데, 그 부분을 미처 생각 못했었네요. (GCP쪽 SSD 단위 가격이 생각보다 너무 쎄서 별 생각 없이 HDD를 선택, AWS에선 SSD선택… 개인적으로 서버를 유지한다면 AWS쪽으로 고려 해야겠습니다.)

답신 감사드립니다.

1개의 좋아요