erigon-pulse/cmd/utils
Alex Sharov 1a1ca49ffa
change --db.pagesize default to 8KB (#7798)
reasons:
- mainnet: even nodes with small FreeList - still have millions of pages
there `GC: 46446830 5.8%`. Probability of getting into state where space
re-use will be slower than free-list grow is > 0% (we now using db
version which limiting freelist-overhead, but increasing such
probability)
- polygon: size is > 8Tb
- hardware slowly moving towards bigger pageSizes (because for
OS/Hardware) maintenance of pages metadata is also not free (metadata,
lists, LRU, etc...). Macbook's default pagesize now is 16Kb. Network
disks in cloud are also likely working with 16Kb pages.

pros:
- less db fragmentation (better FS-level compression)
- less overflow pages in DB (which also reducing free-list overhead)
- smaller free-list 
- bigger key-size-limit 
- no 8Tb db size limit
- can setup FS - to also use bigger pagesize - it will reduce FS
overhead also
- reducing amount of page-faults during batch-reads (if FS pagesize
match)
- less write syscalls during commit (when WriteMap disabled)

cons:
- ~10% more IO: because of more RAM waste and just because need
read/write bigger pages (not all updates are co-located).
2023-06-26 19:44:25 +07:00
..
flags Add diagnostics endpoint for flags (#7417) 2023-05-01 15:38:00 +01:00
cmd.go blockReaders in tests, step4 (#7570) 2023-05-24 15:52:51 +07:00
flags_test.go cmd/utils: allow for multiple influxdb tags (#18520) 2019-01-29 09:14:24 +01:00
flags.go change --db.pagesize default to 8KB (#7798) 2023-06-26 19:44:25 +07:00