From 27a6be66304436e3efdacf5048fe65941985a69e Mon Sep 17 00:00:00 2001 From: Zhu Jiekun Date: Tue, 13 Aug 2024 21:17:43 +0800 Subject: [PATCH] docs: add more details to -cacheDataPath vmselect flag (#6708) vmselect will create `./tmp` dir under `cacheDataPath`. If `cacheDataPath` is set to `/`, vmselect will use `/tmp`. content under `/tmp` dir might be auto removed based on the OS behaviour. See: https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5770 - [x] My change adheres [VictoriaMetrics contributing guidelines](https://docs.victoriametrics.com/contributing/). --------- Signed-off-by: hagen1778 Co-authored-by: hagen1778 --- app/vmselect/main.go | 3 ++- docs/Cluster-VictoriaMetrics.md | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/vmselect/main.go b/app/vmselect/main.go index e4828860c..f43f8cdaa 100644 --- a/app/vmselect/main.go +++ b/app/vmselect/main.go @@ -43,7 +43,8 @@ var ( useProxyProtocol = flagutil.NewArrayBool("httpListenAddr.useProxyProtocol", "Whether to use proxy protocol for connections accepted at the given -httpListenAddr . "+ "See https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt . "+ "With enabled proxy protocol http server cannot serve regular /metrics endpoint. Use -pushmetrics.url for metrics pushing") - cacheDataPath = flag.String("cacheDataPath", "", "Path to directory for cache files. By default, the cache is not persisted.") + cacheDataPath = flag.String("cacheDataPath", "", "Path to directory for cache files and temporary query results. "+ + "By default, the cache won't be persisted, and temporary query results will be placed under /tmp/searchResults. If set, the cache will be persisted under cacheDataPath/rollupResult, and temporary query results will be placed under cacheDataPath/tmp/searchResults.") maxConcurrentRequests = flag.Int("search.maxConcurrentRequests", getDefaultMaxConcurrentRequests(), "The maximum number of concurrent search requests. "+ "It shouldn't be high, since a single request can saturate all the CPU cores, while many concurrently executed requests may require high amounts of memory. "+ "See also -search.maxQueueDuration and -search.maxMemoryPerQuery") diff --git a/docs/Cluster-VictoriaMetrics.md b/docs/Cluster-VictoriaMetrics.md index 7e6b8515c..fd142331f 100644 --- a/docs/Cluster-VictoriaMetrics.md +++ b/docs/Cluster-VictoriaMetrics.md @@ -56,6 +56,8 @@ It increases cluster availability, and simplifies cluster maintenance as well as ![Cluster Scheme](Cluster-VictoriaMetrics_cluster-scheme.webp) +> Note that `vmselect` despite being stateless still requires some disk space (a few GBs) for temporary caches. Refer to the `-cacheDataPath` command-line flag for more details. + ## Multitenancy VictoriaMetrics cluster supports multiple isolated tenants (aka namespaces). @@ -1308,7 +1310,7 @@ Below is the output for `/path/to/vmselect -help`: -blockcache.missesBeforeCaching int The number of cache misses before putting the block into cache. Higher values may reduce indexdb/dataBlocks cache size at the cost of higher CPU and disk read usage (default 2) -cacheDataPath string - Path to directory for cache files. By default, the cache is not persisted. + Path to directory for cache files and temporary query results. By default, the cache won't be persisted, and temporary query results will be placed under /tmp/searchResults. If set, the cache will be persisted under cacheDataPath/rollupResult, and temporary query results will be placed under cacheDataPath/tmp/searchResults. -cacheExpireDuration duration Items are removed from in-memory caches after they aren't accessed for this duration. Lower values may reduce memory usage at the cost of higher CPU usage. See also -prevCacheRemovalPercent (default 30m0s) -cluster.tls