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

[leo_object_storage] [leo_backend_db] LeoFS's LevelDB settings are hard-coded and conservative #555

Closed
windkit opened this issue Dec 21, 2016 · 2 comments

Comments

@windkit
Copy link
Contributor

windkit commented Dec 21, 2016

Description

It seems compaction process in leveldb makes leo_storage unresponsive, probably caused the issue #503

Observation

leo_backend_db_eleveldb sets several parameters at eleveldb:open
(https://github.com/leo-project/leo_backend_db/blob/develop/src/leo_backend_db_eleveldb.erl#L58)

  1. Write Buffer Size: 256KB ~ 3MB [random(?!)]
  2. Max Open Files: 32
  3. Cache Size: 64MB (Such Option Not Found)
  4. Block Size: 10KB (Deprecated, sst_block_size Instead)

defaults for basho/leveldb
(https://github.com/basho/leveldb/blob/develop/util/options.cc#L28)

  1. Write Buffer Size: 60MB
  2. Max Open File: 1000
  3. SST Block Size: 4KB

Testing

Load Image Set, (4.000,000 Files, ~32KB Average)

Results

leo_backend_db_eleveldb defaults

grafana_leofs

eleveldb (leveldb) defaults

grafana_def

@windkit
Copy link
Contributor Author

windkit commented Dec 21, 2016

Attempt to Fix, Pass Options with app configuration, Update defaults

leo-project/leo_backend_db#6
leo-project/leo_storage#21

Result

  1. Old LeoFS Defaults (32 Max Open Files, 3MB Write Buffer)
  2. New Defaults (1000 Max Open Files, 60MB Write Buffer)
    eleveldb

@yosukehara
Copy link
Member

DONE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants