Skip to content

Conversation

@waltherlee
Copy link
Contributor

@waltherlee waltherlee commented Aug 30, 2024

After upgrading from v0.34.1 to v0.36.0, I see some queriers using about 10 times more CPU than before. These queriers only receive ~16 instant http q/s and have over 20 endpoints.

A pprof profile showed that the GC is using most of the CPU, so I ran a pprof heap alloc_space, and the problem seems to be fmt.Sprintf used in the debug message in the store proxy, even if debug logging is disabled.

image

  • I added CHANGELOG entry for this change.
  • Change is not relevant to the end user.

Changes

I added a validation to skip the string formatting if debug logging is disabled.

Verification

I deployed a patch with this change and it definitely fixed the CPU usage. This graph is avg CPU usage after removing the formatting in matchingStores and then after removing it in storeMatches and storeMatchDebugMetadata.

image

yeya24
yeya24 previously approved these changes Aug 30, 2024
Copy link
Contributor

@yeya24 yeya24 left a comment

Choose a reason for hiding this comment

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

Thanks. This LGTM. Thanks for fixing the issue

@MichaHoffmann
Copy link
Contributor

Do we actually need those debugging messages at all?

saswatamcode
saswatamcode previously approved these changes Sep 2, 2024
Signed-off-by: Walther Lee <[email protected]>
@waltherlee waltherlee dismissed stale reviews from saswatamcode and yeya24 via 62eaec4 October 9, 2024 21:34
Copy link
Member

@saswatamcode saswatamcode left a comment

Choose a reason for hiding this comment

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

LGTM

@saswatamcode saswatamcode merged commit 55d0e09 into thanos-io:main Oct 10, 2024
21 of 22 checks passed
jnyi pushed a commit to jnyi/thanos that referenced this pull request Oct 17, 2024
…o#7678)

* skip formatting debug str if debug logging is disabled

Signed-off-by: Walther Lee <[email protected]>

* make statis strings const

Signed-off-by: Walther Lee <[email protected]>

---------

Signed-off-by: Walther Lee <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants