Skip to content
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

Performance Improvement with --no-aggregate-callees #3645

Open
JansonLv opened this issue Oct 22, 2024 · 0 comments
Open

Performance Improvement with --no-aggregate-callees #3645

JansonLv opened this issue Oct 22, 2024 · 0 comments
Assignees
Labels
go Pull requests that update Go code pgo

Comments

@JansonLv
Copy link

JansonLv commented Oct 22, 2024

Based on release practice, it has been demonstrated that using the --no—aggregate-callees flag is more likely to bring about performance improvements.

We have two web services:

one of these services involves a lot of I/O processing and has high latency. In this case, PGO did not result in any noticeable improvement.

For the other web service, which only has a small number of I/O requests, when we initially deployed it with the --aggregate-callees flag, there was almost no observable improvement. However, during the second deployment with the --no—aggregate-callees flag, the results were significantly better, with CPU load decreasing by about 15%.

This is a comparison before (--aggregate-callees) and after (--no—aggregate-callees) the deployment:

image

Theoretically, the flags --no-aggregate-callees and --aggregate-callees should not affect the PGO effect.

Go1.22.7
Pyroscope: 1.7

#3638

compilation log:
pgo file
no-agg.txt
agg.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
go Pull requests that update Go code pgo
Projects
None yet
Development

No branches or pull requests

2 participants