Excessive network usage when syncing from scratch
Summary
Excessive network use when synchronising the chain (~6GB) from scratch.
Steps to reproduce
Sync a new wallet/node from scratch. Observe the network usage
Expected behavior
Syncing a ~6GB chain really shouldn't need ~50GB download and ~30GB upload
Problematic behavior
A recent full sync from scratch used approximately
RX bytes:51927074744 (51.9 GB) TX bytes:27181023114 (27.1 GB)
as reported by ifconfig. Nothing else was running on the machine. This did include an apt-get update/upgrade (30MB max) and the initial code download (42MB max) and a few hours normal running after the sync completed. Everything else was syncing the chain.
Crown-core environment info
XUbuntu 16.04 LTS
Crown-core application info
Crown version v0.13.4.1-fd0432f6 pipeline build 6855
Relevant logs, dumps and/or screenshots
20191218_walkjivefly_wallet_excessive_network_usage_on_sync.zip uploaded to https://nextcloud.crownplatform.com/index.php/s/Q6H8enXNmJsQYCD
Possible fixes
We are presumably getting each block from multiple peers. I thought @presstab had changed the code to only pull blocks from at most 3 peers but that doesn't appear to be the case here.
A good workaround is to use the bootstrap for initial sync. The network usage for a full sync in that case was
RX bytes:2513427536 (2.5 GB) TX bytes:77641477 (77.6 MB)
/cc @artem