Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf(db): Fine-tune state keeper cache performance / RAM usage #1804

Merged

Conversation

slowli
Copy link
Contributor

@slowli slowli commented Apr 26, 2024

What ❔

Allows to configure state keeper cache performance / RAM usage on EN.

Why ❔

Right now, state keeper cache uses very small block cache (order of 5 MB), and eventually loads ~8 GB of SST files into the page cache. Both can be configured more optimally (by increasing block cache size and setting max open files for RocksDB).

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zk fmt and zk lint.
  • Spellcheck has been run via zk spellcheck.
  • Linkcheck has been run via zk linkcheck.

@slowli slowli changed the title feat(db): Fine-tune state keeper cache performance RAM usage feat(db): Fine-tune state keeper cache performance / RAM usage Apr 26, 2024
@slowli slowli changed the title feat(db): Fine-tune state keeper cache performance / RAM usage perf(db): Fine-tune state keeper cache performance / RAM usage Apr 26, 2024
@slowli slowli marked this pull request as ready for review April 26, 2024 11:33
@slowli slowli requested a review from a team as a code owner April 26, 2024 11:33
pompon0
pompon0 previously approved these changes Apr 26, 2024
@slowli slowli added this pull request to the merge queue May 2, 2024
Merged via the queue into main with commit 82bf40e May 2, 2024
43 checks passed
@slowli slowli deleted the aov-pla-912-fine-tune-state-keeper-cache-performance-ram-usage branch May 2, 2024 10:34
Deniallugo pushed a commit that referenced this pull request May 7, 2024
## What ❔

Allows to configure state keeper cache performance / RAM usage on EN.

## Why ❔

Right now, state keeper cache uses very small block cache (order of 5
MB), and eventually loads ~8 GB of SST files into the page cache. Both
can be configured more optimally (by increasing block cache size and
setting max open files for RocksDB).

## Checklist

- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [x] Spellcheck has been run via `zk spellcheck`.
- [x] Linkcheck has been run via `zk linkcheck`.
RomanBrodetski pushed a commit that referenced this pull request May 8, 2024
🤖 I have created a release *beep* *boop*
---


##
[24.1.0](core-v24.0.0...core-v24.1.0)
(2024-05-08)


### Features

* add `sendRawTransactionWithDetailedOutput` API
([#1806](#1806))
([6a30a31](6a30a31))
* add getGasPerPubdataByte endpoint
([#1778](#1778))
([d62dd08](d62dd08))
* **config:** Wrap sensitive urls
([#1828](#1828))
([c8ee740](c8ee740))
* **db:** Implement weak references to RocksDB
([e0d4daa](e0d4daa))
* **en:** Add pruning health checks and rework pruning config
([#1790](#1790))
([e0d4daa](e0d4daa))
* Extract proof_data_handler into separate crate
([#1677](#1677))
([f4facee](f4facee))
* Extract several crates from zksync_core
([#1859](#1859))
([7dcf796](7dcf796))
* **node:** Extract genesis into separate crate
([#1797](#1797))
([a8c4599](a8c4599))
* **Prover CLI:** `status batch` command
([#1638](#1638))
([3fd6d65](3fd6d65))
* prover components versioning
([#1660](#1660))
([29a4ffc](29a4ffc))
* Update provers current version
([#1872](#1872))
([bb5f129](bb5f129))


### Bug Fixes

* **basic_types:** bincode deserialization for `L2ChainId`
([#1835](#1835))
([fde85f4](fde85f4))
* **contract-verifier:** YUL system-mode verification
([#1863](#1863))
([5aa7d41](5aa7d41))
* **loadtest:** Do not initiate transactions with 0 amount
([#1847](#1847))
([1bbe108](1bbe108))


### Performance Improvements

* **db:** Fine-tune state keeper cache performance / RAM usage
([#1804](#1804))
([82bf40e](82bf40e))
* **state-keeper:** Improve `FilterWrittenSlots` l1 batch seal stage
([#1854](#1854))
([4cf235f](4cf235f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: perekopskiy <mikeson.dp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants