Skip to content
This repository has been archived by the owner on Mar 25, 2022. It is now read-only.

[WIP] performance improvements for high cardinality #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

e-dard
Copy link
Contributor

@e-dard e-dard commented Feb 8, 2017

influx-stress currently pre-allocates all series and points when starting up, which makes running high cardinality loads nigh on impossible locally.

The PR helps somewhat with this problem by only generating batches of the series and points we need as and when needed.

Series are generated in batches of 100,000, while line-protocol points are generated in batches of 500,000.

We may want to tweak these numbers; I haven't tested. However previously, writing 100M series ate up over 18GB of RAM, while doing it this way seems to consume a few hundred.

I'm not sure if it's impacted the maximum throughput significantly yet however.


var numTags int
s.template, numTags = formatTemplate(tmplt)
s.tagCardinalities = tagCardinalityPartition(numTags, primeFactorization(cardinality))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this call not problematic with 100M series?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants