VictoriaMetrics/app/vmselect/netstorage
Aliaksandr Valialkin 1a254ea20c
app/vmselect/netstorage: remove common contention points related to inter-CPU communcations
This should improve vmselect performance scalability on systems with many CPU cores.

The following tasks were done:

- Use separate temporary files for storing the data read from each vmstorage node.
  This may result in the following potential issues:
  - Up to N times higher memory usage for performing each query where N is the number
    of vmstorage nodes known to vmselect.
    This issue shouldn't increase chances of out of memory errors in most cases,
    since per-query memory overhead is quite low comparing to the overall vmselect memory usage.
  - Up to N times higher number of open temporary files where N is the number
    of vmstorage nodes known to vmselect.
    This issue should be fixed by increasing the limit on the number of open files.

- Use separate counters per each vmstorage node for various stats calculation
  when reading the data from vmstorage nodes.
2022-08-11 23:22:56 +03:00
..
netstorage_test.go app/vmselect/netstorage: optimize mergeSortBlocks function 2022-07-09 00:35:38 +03:00
netstorage_timing_test.go app/vmselect/netstorage: add mergeSortBlocks benchmark for the worstcase 2022-07-12 12:26:27 +03:00
netstorage.go app/vmselect/netstorage: remove common contention points related to inter-CPU communcations 2022-08-11 23:22:56 +03:00
tmp_blocks_file_test.go app/vmselect/netstorage: remove common contention points related to inter-CPU communcations 2022-08-11 23:22:56 +03:00
tmp_blocks_file.go app/vmselect/netstorage: remove common contention points related to inter-CPU communcations 2022-08-11 23:22:56 +03:00