Hello Brian,

Thank you, this makes a lot of sense. Lifesaver. I think my confusion came 
from a combination of:

This statement: 

So PromParser.Metric for example looks to be the length of the full 
> timeseries name


This statement:

 and on top of all that the time series name twice


This image: 
[image: Screenshot from 2020-03-12 18-35-44.png] <about:invalid#zClosurez>























But reading what you've stated make this all much more sensible and 
logical. Thank you again! 

Regards, Aaron Layfield

On Thursday, 12 March 2020 18:05:10 UTC+9, Brian Brazil wrote:
>
> On Thu, 12 Mar 2020 at 08:52, Aaron Layfield <[email protected] 
> <javascript:>> wrote:
>
>> I've gone over Brians post here that provides a handy calculator that 
>> makes it easy to calculate rough estimates on consumption:
>>
>>
>> https://www.robustperception.io/how-much-ram-does-prometheus-2-x-need-for-cardinality-and-ingestion
>>
>> However, I am trying to break this formula down into something I can use 
>> outside of the page and I'm struggling a bit. Based on the calculator in 
>> the post itself.
>>
>> Based on the article: 
>>
>> This works out then as about 732B per series, another 32B per label pair, 
>>> 120B per unique label value and on top of all that the time series name 
>>> twice. Last, but not least, all of that must be doubled given how Go 
>>> garbage collection works.
>>
>>
>> According to the image in the post, time series name (PromParser.Metric) 
>> is 320B.
>>
>> So I'm interpreting this as, based on the default 1,000,000 time series 
>> in the calculator (*Ignoring Unique Labels as those are negligible)*: 
>>
>> Avg. Timeseries Size: 732B
>> # of Series: 1000000
>> Label Size: 20B (5 Labels)
>> Timeseries Name: 320B
>>
>> ((732+320+320+100)×2) × 1000000 = 2944000000
>>
>
> I think you're double counting there, and I'm not sure how you're getting 
> 320B for the time series name. The exact formula used (field numbers are 
> off by one) is:
>
> CEIL((fieldname2 * (732 + fieldname3*32 + fieldname3 * fieldname5 * 2) + 
> 120 * fieldname4) * 2 / 1024 / 1024)
>
> So (1000000 * (732 + 5*32 + 5*20*2) + 120 * 0)  * 2 = 2184000000
>
>
> Keep in mind this is for 2.9.2, the numbers will have changed a bit since 
> then.
>
> Brian
>  
>
>>
>> This is way above what's suggested (2GB per 1,000,000 records) and I'm 
>> certain I'm missing something. 
>>
>> Can someone break this down for me so it makes more sense? 
>>
>> Kind regards, 
>> Aaron 
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Prometheus Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/prometheus-users/56bccff9-4986-4f7c-ab8c-df89f372436a%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/prometheus-users/56bccff9-4986-4f7c-ab8c-df89f372436a%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> Brian Brazil
> www.robustperception.io
>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/570d8b63-afdb-408e-9437-e5f1b53a8244%40googlegroups.com.

Reply via email to