VictoriaMetrics/lib/mergeset
Aliaksandr Valialkin 1b16118e17
lib/{storage,mergeset}: tune the threshold for assisted merge
The https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3425#issuecomment-1359117221
reveals that CPU usage for incoming queries may significantly increase when the number
of in-memory parts becomes too big.

This commit reduces the maximum number of in-memory parts before starting the assisted merge
during data ingestion. This should reduce CPU usage for incoming queries,
since they need to inspect lower number of in-memory parts.

This should help https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3425
2022-12-28 14:39:24 -08:00
..
block_header.go lib/mergeset: properly reset bsr.bhIdx after the call to blockStreamReader.readNextBHS() 2022-11-16 21:23:35 +02:00
block_stream_reader.go lib/mergeset: properly reset bsr.bhIdx after the call to blockStreamReader.readNextBHS() 2022-11-16 21:23:35 +02:00
block_stream_reader_test.go lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:06:47 +02:00
block_stream_writer.go lib/{mergeset,storage}: pass compressLevel to blockStreamWriter.InitFromInmemoryPart 2022-12-03 22:46:48 -08:00
encoding.go lib/mergeset: reduce the time needed for the slowest tests 2022-12-03 22:26:33 -08:00
encoding_test.go lib/mergeset: reduce the time needed for the slowest tests 2022-12-03 22:26:33 -08:00
encoding_timing_test.go benchmark inmemoryBlock.{Marshal,Unmarshal} for different prefix length 2022-07-27 22:20:27 +03:00
inmemory_part.go all: add -inmemoryDataFlushInterval command-line flag for controlling the frequency of saving in-memory data to disk 2022-12-05 15:16:14 -08:00
merge.go lib/mergeset: do not update blockStreamReader.bh.firstItem during the merge 2022-07-27 23:05:02 +03:00
merge_test.go lib/{mergeset,storage}: pass compressLevel to blockStreamWriter.InitFromInmemoryPart 2022-12-03 22:46:48 -08:00
metaindex_row.go all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:37 +03:00
part.go lib/mergeset: retain the buffer with the data used by indexBlock.bhs, inside indexBlock.buf 2022-11-16 12:09:23 +02:00
part_header.go lib/fs: add canOverwrite arg to WriteFileAtomically when it is allowed to overwrite the file atomically if it already exists 2022-10-26 01:07:34 +03:00
part_search.go lib/mergeset: retain the buffer with the data used by indexBlock.bhs, inside indexBlock.buf 2022-11-16 12:09:23 +02:00
part_search_test.go lib/{mergeset,storage}: pass compressLevel to blockStreamWriter.InitFromInmemoryPart 2022-12-03 22:46:48 -08:00
table.go lib/{storage,mergeset}: tune the threshold for assisted merge 2022-12-28 14:39:24 -08:00
table_search.go optimized code (#2103) 2022-01-28 14:15:41 +02:00
table_search_test.go lib/mergeset: panic when too long item is passed to Table.AddItems() 2022-12-03 23:32:16 -08:00
table_search_timing_test.go lib/storage: stop background merge when storage enters read-only mode 2022-06-01 14:36:45 +03:00
table_test.go all: add -inmemoryDataFlushInterval command-line flag for controlling the frequency of saving in-memory data to disk 2022-12-05 15:16:14 -08:00