You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Changed random eviction cache to accounts only (#4650)
# Description
This change adds a configurable memory based cap to the LiveBucketList
random eviction cache. It also modifies the cache such that only
accounts are stored.
Following initial testing, the random eviction cache improved TX
flooding performance, but had virtually no effect on apply time. This
makes sense, since apply time already leverages the ltx cache and only
makes at most one disk read per ledger entry. TX flooding on the other
hand has no such queue and constantly re reads entries off disk. Given
that we already have an ltx cache for apply time, it makes sense to only
cache the entry types that are used by transaction flooding (i.e.
`ACCOUNT`).
My initial default setting is to cache 3 GB. Currently accounts take up
about 2.5 GB in the BucketList, so this allows us to cache all accounts
with some room for growth, and 3 GB seems like a modest increase in RAM
requirements for validators.
# Checklist
- [x] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [x] Rebased on top of master (no merge commits)
- [x] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [x] Compiles
- [x] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)
0 commit comments