mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 04:52:59 +01:00
Merge pull request #6958
9c3ee3b
[doc] Add -maxuploadtarget release notes (MarcoFalke)b27e81f
[net] Cleanup maxuploadtarget (MarcoFalke)
This commit is contained in:
commit
d2e987aa19
@ -168,6 +168,25 @@ a connection to Tor can be made. It can be configured with the `-listenonion`,
|
|||||||
`-torcontrol` and `-torpassword` settings. To show verbose debugging
|
`-torcontrol` and `-torpassword` settings. To show verbose debugging
|
||||||
information, pass `-debug=tor`.
|
information, pass `-debug=tor`.
|
||||||
|
|
||||||
|
Reduce upload traffic
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
A major part of the outbound traffic is caused by serving historic blocks to
|
||||||
|
other nodes in initial block download state.
|
||||||
|
|
||||||
|
It is now possible to reduce the total upload traffic via the `-maxuploadtarget`
|
||||||
|
parameter. This is *not* a hard limit but a threshold to minimize the outbound
|
||||||
|
traffic. When the limit is about to be reached, the uploaded data is cut by not
|
||||||
|
serving historic blocks (blocks older than one week).
|
||||||
|
Moreover, any SPV peer is disconnected when they request a filtered block.
|
||||||
|
|
||||||
|
This option can be specified in MiB per day and is turned off by default
|
||||||
|
(`-maxuploadtarget=0`).
|
||||||
|
The recommended minimum is 144 * MAX_BLOCK_SIZE (currently 144MB) per day.
|
||||||
|
|
||||||
|
A more detailed documentation about keeping traffic low can be found in
|
||||||
|
[/doc/reducetraffic.md](/doc/reducetraffic.md).
|
||||||
|
|
||||||
0.12.0 Change log
|
0.12.0 Change log
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
@ -192,7 +192,8 @@ class MaxUploadTest(BitcoinTestFramework):
|
|||||||
getdata_request.inv.append(CInv(2, big_old_block))
|
getdata_request.inv.append(CInv(2, big_old_block))
|
||||||
|
|
||||||
max_bytes_per_day = 200*1024*1024
|
max_bytes_per_day = 200*1024*1024
|
||||||
max_bytes_available = max_bytes_per_day - 144*1000000
|
daily_buffer = 144 * 1000000
|
||||||
|
max_bytes_available = max_bytes_per_day - daily_buffer
|
||||||
success_count = max_bytes_available / old_block_size
|
success_count = max_bytes_available / old_block_size
|
||||||
|
|
||||||
# 144MB will be reserved for relaying new blocks, so expect this to
|
# 144MB will be reserved for relaying new blocks, so expect this to
|
||||||
|
@ -375,7 +375,7 @@ std::string HelpMessage(HelpMessageMode mode)
|
|||||||
strUsage += HelpMessageOpt("-whitebind=<addr>", _("Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6"));
|
strUsage += HelpMessageOpt("-whitebind=<addr>", _("Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6"));
|
||||||
strUsage += HelpMessageOpt("-whitelist=<netmask>", _("Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times.") +
|
strUsage += HelpMessageOpt("-whitelist=<netmask>", _("Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times.") +
|
||||||
" " + _("Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway"));
|
" " + _("Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway"));
|
||||||
strUsage += HelpMessageOpt("-maxuploadtarget=<n>", strprintf(_("Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)"), 0));
|
strUsage += HelpMessageOpt("-maxuploadtarget=<n>", strprintf(_("Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)"), DEFAULT_MAX_UPLOAD_TARGET));
|
||||||
|
|
||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
strUsage += HelpMessageGroup(_("Wallet options:"));
|
strUsage += HelpMessageGroup(_("Wallet options:"));
|
||||||
@ -1193,7 +1193,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (mapArgs.count("-maxuploadtarget")) {
|
if (mapArgs.count("-maxuploadtarget")) {
|
||||||
CNode::SetMaxOutboundTarget(GetArg("-maxuploadtarget", 0)*1024*1024);
|
CNode::SetMaxOutboundTarget(GetArg("-maxuploadtarget", DEFAULT_MAX_UPLOAD_TARGET)*1024*1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ********************************************************* Step 7: load block chain
|
// ********************************************************* Step 7: load block chain
|
||||||
|
@ -2117,8 +2117,8 @@ void CNode::SetMaxOutboundTarget(uint64_t limit)
|
|||||||
uint64_t recommendedMinimum = (nMaxOutboundTimeframe / 600) * MAX_BLOCK_SIZE;
|
uint64_t recommendedMinimum = (nMaxOutboundTimeframe / 600) * MAX_BLOCK_SIZE;
|
||||||
nMaxOutboundLimit = limit;
|
nMaxOutboundLimit = limit;
|
||||||
|
|
||||||
if (limit < recommendedMinimum)
|
if (limit > 0 && limit < recommendedMinimum)
|
||||||
LogPrintf("Max outbound target is very small (%s) and will be overshot. Recommended minimum is %s\n.", nMaxOutboundLimit, recommendedMinimum);
|
LogPrintf("Max outbound target is very small (%s bytes) and will be overshot. Recommended minimum is %s bytes.\n", nMaxOutboundLimit, recommendedMinimum);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t CNode::GetMaxOutboundTarget()
|
uint64_t CNode::GetMaxOutboundTarget()
|
||||||
|
@ -60,6 +60,8 @@ static const bool DEFAULT_UPNP = false;
|
|||||||
static const size_t MAPASKFOR_MAX_SZ = MAX_INV_SZ;
|
static const size_t MAPASKFOR_MAX_SZ = MAX_INV_SZ;
|
||||||
/** The maximum number of peer connections to maintain. */
|
/** The maximum number of peer connections to maintain. */
|
||||||
static const unsigned int DEFAULT_MAX_PEER_CONNECTIONS = 125;
|
static const unsigned int DEFAULT_MAX_PEER_CONNECTIONS = 125;
|
||||||
|
/** The default for -maxuploadtarget. 0 = Unlimited */
|
||||||
|
static const uint64_t DEFAULT_MAX_UPLOAD_TARGET = 0;
|
||||||
|
|
||||||
unsigned int ReceiveFloodSize();
|
unsigned int ReceiveFloodSize();
|
||||||
unsigned int SendBufferSize();
|
unsigned int SendBufferSize();
|
||||||
|
Loading…
Reference in New Issue
Block a user