iotexproject / iotexproject/iotex-core

improve blocksync speed

Open
#3,796 3 comments 0 reactions 1 assignee Assigned to @millken View on GitHub
enhancement
Dominant language
Go
Stars
1.6k
Forks
382
Avg merge
4d 22h
Merged PRs (30d)
17

Description

### What would you like to be added
as title

### Why is this needed
currently the mainnet node syncs at a rate of 3-5 blocks every second, which is not satisfactory. when running a fullnode, sometime can observer the following:

1. this log `dispatcher/dispatcher.go:372 dispatcher block channel is full, drop an event.` will print out, showing the receiving channel has been filled up faster than blocks are drained (committed)
2. sometimes on testnet, it will commit in a batch (you can see from the log) like 20~ blocks, then pause for couple of seconds, then commit the next batch, it seems the blocksync go-routine has a bottleneck/hiccup somewhere

### How important you think this is for IoTeX
- [x] must have
- [] should have
- [] nice to have

### Additional information
Let us know any background or context that would help us better understand the request (for example the particular use-case that prompted this request)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.