vminsert uses consistent hashing (
jumphash) over metric name plus all the metric labels in order to choose vmstorage node. A single time series is identified by its name plus all its labels. So vminsert sends all the data for a single time series into a single vmstorage node under normal conditions. This improves data compression and reduces CPU and RAM usage comparing to the case if data for a single time series would be spread over multiple vmstorage nodes. There are a few exception when the data for a single time series can be written to multiple vmstorage nodes:
* When vmstorage node is temporarily unavailable, its data is routed to the remaining healthy vmstorage nodes
* When adding new vmstorage nodes to the cluster, new data for a part of time series will migrate to new vmstorage nodes according to consistent hashing. Note that the old data remains on the old vmstorage nodes.
* When changing order of `-storageNode` command-line flag values passed to `vminsert`. This shuffles placement for all the time series, so it isn't recommended to change the order of these values. It is recommended adding new storage node addresses to the end of `-storageNode` list in order to avoid such shuffling, since it may hurt cluster performance and resource usage.
--
You received this message because you are subscribed to the Google Groups "VictoriaMetrics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to victoriametri...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/victoriametrics/8b04b20a-e058-46bf-8181-7aaad22475ec%40googlegroups.com.