New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set field limit, after testing with rally. #1444
Conversation
Add rally challenge to test mapping explosion limits for APM. implements elastic#1291
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great analysis!
After discussing the timeouts with @danielmitterdorfer I changed the
on a 4gb RAM, 1 node, 1 zone cloud instance leads to following results: [updated results] increasing warmup time to
|
Reduce bulk size to apm-server default of 50. Increase warmup period to reduce measured latency.
After rerunning the tests (see results above) I suggest to set the @roncohen what's your opinion on that? |
As you've shown, with the right size machines and configuration, it could work to have a higher number of columns than 2000. Se let me see if this is your line of thinking: if you have 2000+ tags you're basically doing it wrong. So in that case it's better to loudly complain and stop indexing, even in cases where the cluster could actually handle more tags, because we would expect the number of tags to keep increasing beyond that because the feature is not being used correctly. |
APM Server's default settings are generally rather conservative to fit for a small APM machine. So my suggestion is to align the default setting for (Note: ES default value for total_fields is 1_000, libbeat default value is 10_000). |
OK. Sounds good 👍 |
jenkins, retest this please |
Add rally challenge to test mapping explosion limits for APM.
implements #1291
I did some tests using the APM rally challenge
ingest-field-explosion
on ES instances with the following results:The amount of fields other than
tags
is roughly 200. My suggestion is to set1,000
as default value fortotal_fields
for6.5
. Setting it too low would cause errors when trying to write although the ES instance might be able to handle it. Setting the value too high would risk memory issues with the whole ES instance.