@cryptotaxi247 / netdata-1 / commits / 2b01eb68b

Correct calc and explain how to get METRICS in RAM usage (#14733)

Correct calc and explain how to get METRICS

Chris Akritidis committed Mar 15, 2023 at 07:19 UTC 2b01eb68bbfb338fa20fc5e948ea5e7fcb0799ba
1 file changed +11 -2
docs/store/change-metrics-storage.md
+11 -2
@@ -92,7 +92,15 @@ The quick rule of thumb, for a high level estimation is
92 DBENGINE memory in MiB = METRICS x (TIERS - 1) x 8 / 1024 MiB
93 Total Netdata memory in MiB = Metric cardinality factor x DBENGINE memory in MiB + "dbengine page cache size MB" from netdata.conf
94 ```
95 -The cardinality factor is usually between 3 or 4 and depends mainly on the ephemerality of the collected metrics. The more ephemeral
95 +
96 +You can get the currently collected **METRICS** from the "dbengine metrics" chart of the Netdata dashboard. You just need to divide the
97 +value of the "collected" dimension with the number of tiers. For example, at the specific point highlighted in the chart below, 608k metrics
98 +were being collected across all 3 tiers, which means that `METRICS = 608k / 3 = 203667`.
99 +
100 +<img width="988" alt="image" src="https://user-images.githubusercontent.com/43294513/225335899-a9216ba7-a09e-469e-89f6-4690aada69a4.png" />
101 +
102 +
103 +The **cardinality factor** is usually between 3 or 4 and depends mainly on the ephemerality of the collected metrics. The more ephemeral
104 the infrastructure, the higher the factor. If the cardinality is extremely high with a lot of extremely short lived containers
105 (hundreds started every minute), the multiplication factor can get really high. In such cases, we recommend splitting the load across
106 multiple Netdata parents, until we can provide a way to lower the cardinality by aggregating similar metrics.
@@ -104,8 +112,9 @@ For 2000 metrics (dimensions) in 3 storage tiers and the default cache size:
112 ```
113 DBENGINE memory for 2k metrics = 2000 x (3 - 1) x 8 / 1024 MiB = 32 MiB
114 dbengine page cache size MB = 32 MiB
107 -Total Netdata memory in MiB = Between 2*32 + 32 = 96 MiB and 3*32 + 32 = 196 MiB, for low to average cardinality
115 +Total Netdata memory in MiB = 3*32 + 32 = 128 MiB (low cardinality)
116 ```
117 +
118 #### Large parent RAM usage
119
120 The Netdata parent in our production infrastructure at the time of writing: