Parallel ledger loader & I/O performance improvements:

- Only duplicate records from archive to writable during online_delete.
- Log duration of nodestore reads.
- Include nodestore counters in perf_log output.
- Remove gratuitous nodestore activity counting.
- Report initial sync duration in server_info and perfLog.
- Report state_accounting in perfLog.
- Make state_accounting durations more accurate.
- Parallel ledger loader.
- Config parameter to load ledgers on start.
This commit is contained in:
Mark Travis
2021-12-14 17:08:59 -08:00
committed by Nik Bougalis
parent 5a4654a0da
commit 7c12f01358
28 changed files with 245 additions and 89 deletions

View File

@@ -47,7 +47,8 @@ std::shared_ptr<NodeObject>
DatabaseNodeImp::fetchNodeObject(
uint256 const& hash,
std::uint32_t,
FetchReport& fetchReport)
FetchReport& fetchReport,
bool duplicate)
{
std::shared_ptr<NodeObject> nodeObject{
cache_ ? cache_->fetch(hash) : nullptr};
@@ -70,13 +71,8 @@ DatabaseNodeImp::fetchNodeObject(
switch (status)
{
case ok:
++fetchHitCount_;
if (nodeObject)
{
fetchSz_ += nodeObject->getData().size();
if (cache_)
cache_->canonicalize_replace_client(hash, nodeObject);
}
if (nodeObject && cache_)
cache_->canonicalize_replace_client(hash, nodeObject);
break;
case notFound:
break;