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

Options: level_compaction_dynamic_level_bytes not working properly #786

Open
Yuval-Ariel opened this issue Dec 24, 2023 · 1 comment
Open
Assignees
Labels
performance Research This issue is under research

Comments

@Yuval-Ariel
Copy link
Contributor

Yuval-Ariel commented Dec 24, 2023

In a write heavy workload, where L0-L1 compaction is the bottleneck, the level_compaction_dynamic_level_bytes flag can cause serious stalls caused by huge (40 Gb) L0-L1 compactions.
Can be seen in the pic below:
image

This problem exists mainly with the speedb delay mechanism (controlled by the flag use_dynamic_delay).
Further research needs to be done in order to understand and fix this behaviour.

Until then, Turn off the level_compaction_dynamic_level_bytes flag by default.

The cmd to reproduce the above Fig. is:
db_bench --compression_type=None -db=/data/ -num=40000000 -value_size=1000 -key_size=16 -report_interval_seconds=1 -stats_dump_period_sec=120 -num_column_families=1 -write_buffer_size=67108864 -histogram --delayed_write_rate=536870912 -max_write_buffer_number=4 -db_write_buffer_size=0 -max_background_compactions=8 -cache_size=8388608 -max_background_flushes=4 -bloom_bits=10 -benchmark_read_rate_limit=0 -benchmark_write_rate_limit=0 -report_file=fillrandom.csv --disable_wal=true --benchmarks=fillrandom,levelstats,memstats --memtablerep=skip_list -compaction_readahead_size=0 ' and then overwrite:
db_bench --compression_type=None -db=/data/ -num=40000000 -value_size=1000 -key_size=16 -report_interval_seconds=1 -stats_dump_period_sec=120 -num_column_families=1 -write_buffer_size=67108864 -histogram --delayed_write_rate=536870912 -max_write_buffer_number=4 -db_write_buffer_size=0 -max_background_compactions=8 -cache_size=8388608 -max_background_flushes=4 -bloom_bits=10 -duration=900 --use_existing_db -threads=50 -duration=900 -benchmark_read_rate_limit=0 -benchmark_write_rate_limit=0 -report_file=overwrite.csv --benchmarks=overwrite,levelstats,memstats --memtablerep=skip_list -compaction_readahead_size=0
and compare tolevel_compaction_dynamic_level_bytes = 0`

@Yuval-Ariel Yuval-Ariel added performance Research This issue is under research labels Dec 24, 2023
@Yuval-Ariel Yuval-Ariel self-assigned this Dec 24, 2023
@Yuval-Ariel
Copy link
Contributor Author

this problem is already in release 2.7:
image

Yuval-Ariel added a commit that referenced this issue Dec 25, 2023
This flag is not working properly with Speedb. see #786 for more details
Yuval-Ariel added a commit that referenced this issue Dec 31, 2023
…#791)


This flag is not working properly with Speedb. see #786 for more details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Research This issue is under research
Projects
None yet
Development

No branches or pull requests

1 participant