VictoriaMetrics/app/vmselect
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
..
bufferedwriter app/vmselect/bufferedwriter: suppress trivial network errors, which can be generated by remote side 2022-03-18 19:27:33 +02:00
clusternative app/vmselect/netstorage: remove common contention points related to inter-CPU communcations 2022-08-11 23:22:56 +03:00
deployment Rootless docker images by default (#358) 2020-03-27 21:18:32 +02:00
graphite lib/vmselectapi: pass maxSuffixes arg to tagValueSuffixes RPC call 2022-07-06 12:46:22 +03:00
graphiteql Graphite vmalert wip (#112) 2021-02-01 15:28:30 +02:00
multiarch app: fix make publish-* after ed93330e66 2022-07-14 11:01:34 +03:00
netstorage app/vmselect/netstorage: remove common contention points related to inter-CPU communcations 2022-08-11 23:22:56 +03:00
prometheus vmselect/prometeus: Add limit param to api/v1/series api endpoint (#2851) 2022-07-11 20:37:20 +03:00
promql app/vmselect/promql: fix TestVmrangeBucketsToLE test after 8516670582 2022-08-07 00:15:10 +03:00
querystats app/vmselect: do not track queries with less than 1ms execution time at /api/v1/status/top_queries 2021-07-15 16:53:35 +03:00
searchutils all: make fmt via the upcoming Go1.19 2022-07-11 19:23:25 +03:00
vmui vmui: graph action on moush hold and move (#2915) 2022-08-07 23:56:08 +03:00
main.go app/{vmselect,vmalert}: properly generate http redirects if -http.pathPrefix command-line flag is set 2022-08-02 13:01:13 +03:00
Makefile all: follow-up for d99ba3481b 2022-07-13 17:17:08 +03:00
README.md app/vmselect: expose vmui at /vmselect/<accountID>/vmui/ instead of /vmselect/<accountID>/prometheus/vmui/ 2021-07-10 12:32:21 +03:00

vmselect performs the following tasks:

  • Splits incoming selects to tasks for vmstorage nodes and issues these tasks to all the vmstorage nodes in the cluster.

  • Merges responses from all the vmstorage nodes and returns a single response.

The vmui directory contains static contents built from app/vmui package with make vmui-update command. The vmui page is available at http://<vmselect>:8481/select/<accountID>/vmui/.