VictoriaMetrics/app/vmselect
Aliaksandr Valialkin 53d871d0b1
app/vmselect/netstorage: reduce tail latency during query processing
Previously the selected time series were split evenly among available CPU cores
for further processing - e.g unpacking the data and applying the given rollup
function to the unpacked data.
Some time series could be processed slower than others.
This could result in uneven work distribution among available CPU cores,
e.g. some CPU cores could complete their work sooner than others.
This could slow down query execution.

The new algorithm allows stealing time series to process from other CPU cores
when all the local work is done. This should reduce the maximum time
needed for query execution (aka tail latency).

The new algorithm should also scale better on systems with many CPU cores,
since every CPU processes locally assigned time series without inter-CPU communications.

The inter-CPU communications are used only when all the local work is finished
and the pending work from other CPUs needs to be stealed.
2023-01-10 13:43:14 -08:00
..
bufferedwriter app/vmselect: do not export NaN values for stale metrics at /federate endpoint 2022-10-01 19:47:37 +03:00
graphite all: use metricsql.CompileRegexp instead of regexp.Compile for compiling regexps used in graphite queries 2023-01-09 21:43:08 -08:00
graphiteql Graphite vmalert wip (#112) 2021-02-01 15:05:32 +02:00
netstorage app/vmselect/netstorage: reduce tail latency during query processing 2023-01-10 13:43:14 -08:00
prometheus app/vmselect/prometheus: no need manually call queryDuration.UpdateDuration (#3564) 2022-12-29 14:18:00 +01:00
promql app/vmselect/promql: eliminate memory allocation when sorting values inside float64s 2023-01-09 23:06:46 -08:00
querystats app/vmselect: do not track queries with less than 1ms execution time at /api/v1/status/top_queries 2021-07-15 16:44:28 +03:00
searchutils app/vmselect/searchutils: accept partial RFC3339 values at time, start and end query args 2022-12-28 19:41:54 -08:00
vmui vmui: improve Explore metrics (#3598) 2023-01-05 02:23:04 -08:00
main.go all: small improvements in error messages and command-line flag descriptions related to concurrency limiters 2023-01-07 00:11:44 -08:00
README.md app/vmui: move source code from https://github.com/VictoriaMetrics/vmui to app/vmui 2021-07-09 17:15:23 +03:00

vmselect performs the incoming queries and fetches the required data from vmstorage.

The vmui directory contains static contents built from app/vmui package with make vmui-update command. The vmui page is available at http://<victoria-metrics>:8428/vmui/.