Skip to content

Conversation

beorn7
Copy link
Member

@beorn7 beorn7 commented Jan 27, 2015

@brian-brazil @juliusv

I guess that means for high sample ingestion rates, we should aim for (optionally) supporting protobuf in the new Java client, too...

On the other hand: As the parsing is happening in parallel with many scrapes, the bottleneck for sample ingestion on spinning disk machines is persisting the chunks to disk. (With more efficient compression for chunks, that might change, though.) On SSD, the bottleneck (with protobuf ingestion) appeared to be the fingerprint calculation, which happens serially at the moment. Should anybody ever want more than 50k samples/sec ingestion, we would improve the fingerprint calculation first.

Still, especially for situations where CPU is tighter (and the server is also serving expensive queries and such), a 4x speed-up on parsing seems worth the deal...

Copy link
Member

Choose a reason for hiding this comment

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

accually -> actually

@juliusv
Copy link
Member

juliusv commented Jan 27, 2015

👍 otherwise

@brian-brazil
Copy link
Contributor

That'd indicate ~5us per sample in text format. With a 60s interval and 500k timeseries (rough m1.large limit), that's only .04 of a core on a 2 core box. I don't think we need to worry about performance in the general case, the rules/graphs/storage will dominate.

@beorn7
Copy link
Member Author

beorn7 commented Jan 27, 2015

@juliusv Oh my... I hope my typos are not a representation for my mental state...

@beorn7
Copy link
Member Author

beorn7 commented Jan 27, 2015

@brian-brazil Wait for fish running Prometheus on a Raspberry Pi... :)

But you are right, not our most pressing concern right now. The gzipped text format is actually not much larger than the gzipped protobuf, which gets rid of the bandwidth concern.

CPU-wise: Even the 50k samples/s scenario will only need 0.25 cores. GC-pressure might hurt more, here... but who knows.

beorn7 added a commit that referenced this pull request Jan 27, 2015
Add benchmarks to compare text and protobuf parsing.
@beorn7 beorn7 merged commit 80ad13d into master Jan 27, 2015
@beorn7 beorn7 deleted the beorn7/benchmark branch January 27, 2015 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants