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

1.24 performance updates #15727

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Stevenjin8
Copy link

Description

Update performance and scalability docs for 1.24

xref: istio/istio#52977

Reviewers

  • Ambient
  • Docs
  • Installation
  • Networking
  • Performance and Scalability
  • Extensions and Telemetry
  • Security
  • Test and Release
  • User Experience
  • Developer Infrastructure
  • Localization/Translation

Need someone to update the chinese version

@istio-testing
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@istio-policy-bot
Copy link

😊 Welcome! This is either your first contribution to the Istio documentation repo, or
it's been a while since you've been here. A few things you should know:

  • You can learn about how we write and maintain documentation, our style guidelines,
    and the available web site features by visiting Contributing to the Docs.

  • In the next few minutes, an automatic preview of your change will be built with
    a full copy of the istio.io website. You can find this preview by clicking on
    the Details link next to the deploy/netlify entry in the status section of this
    page.

  • We care about quality, so we've put in place a number of checks to ensure our documentation
    is top-notch. We do spell checking, sanitize the Markdown, ensure all hyperlinks point to a
    valid location, and more. If your PR doesn't pass one of these checks, you'll see a red X in the
    lint_istio.io entry in the status section. Click on the Details link to get a list of the
    problems with your PR. Fix those problems and push an update; this will automatically re-run the
    tests. Hopefully this time everything will be perfect!

  • Once your changes are accepted and merged into the repository, they will initially show up
    on https://preliminary.istio.io. The changes will be published to https://istio.io
    the next time we do a major release (which typically happens every 3 months or so).
    To publish them sooner, add a cherrypick/release-x.xx label, where x.xx is the current
    release of Istio.

Thanks for contributing!

Courtesy of your friendly welcome wagon.

@istio-testing istio-testing added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Sep 24, 2024
@Stevenjin8 Stevenjin8 changed the title Placeholder graphs 1.24 performance updates Sep 24, 2024
@@ -90,45 +92,45 @@ request rate doesn't affect the memory consumption.

### Latency

Since Istio injects a sidecar proxy on the data path, latency is an important
Since Istio injects a sidecar proxy or ztunnel proxy on the data path, latency is an important
Copy link
Member

Choose a reason for hiding this comment

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

we don't inject ztunnel proxy... consider reword it to the request traverse through sidecar or ztunnel or/and waypoint proxy....

@@ -90,45 +92,45 @@ request rate doesn't affect the memory consumption.

### Latency

Since Istio injects a sidecar proxy on the data path, latency is an important
Since Istio injects a sidecar proxy or ztunnel proxy on the data path, latency is an important
consideration.
Every feature Istio adds also adds to the path length inside the proxy and potentially affects latency.

The Envoy proxy collects raw telemetry data after a response is sent to the
Copy link
Member

Choose a reason for hiding this comment

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

should we add ztunnel here as well?

Copy link
Author

Choose a reason for hiding this comment

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

I'm not sure what you mean

Copy link
Member

Choose a reason for hiding this comment

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

line 95 starts with sidecar or ztunnel, and line 99 only covers Envoy proxy. Should it also cover ztunnel as well in the explanation.

Copy link
Author

Choose a reason for hiding this comment

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

I see

@linsun
Copy link
Member

linsun commented Sep 25, 2024

Hi @Stevenjin8 thanks for updating the page! I have 1 question regarding the sidecar numbers, I saw it is more than ambient + L7 - just wanted to confirm it is the default profile without HBONE being used?

Note the numbers from 1.21 on sidecar is much better: https://istio.io/v1.21/docs/ops/deployment/performance-and-scalability/

@Stevenjin8
Copy link
Author

Hi @Stevenjin8 thanks for updating the page! I have 1 question regarding the sidecar numbers, I saw it is more than ambient + L7 - just wanted to confirm it is the default profile without HBONE being used?

Note the numbers from 1.21 on sidecar is much better: https://istio.io/v1.21/docs/ops/deployment/performance-and-scalability/

@linsun I believe it is the default profile without HBONE. when I look at the traffic, none of it goes to port 15008.

@linsun
Copy link
Member

linsun commented Sep 26, 2024

Hi @Stevenjin8 thanks for updating the page! I have 1 question regarding the sidecar numbers, I saw it is more than ambient + L7 - just wanted to confirm it is the default profile without HBONE being used?
Note the numbers from 1.21 on sidecar is much better: https://istio.io/v1.21/docs/ops/deployment/performance-and-scalability/

@linsun I believe it is the default profile without HBONE. when I look at the traffic, none of it goes to port 15008.

hmm, do you think we regressed sidecar numbers so bad? Or the difference lies in setup and measurement?

@Stevenjin8
Copy link
Author

Hi @Stevenjin8 thanks for updating the page! I have 1 question regarding the sidecar numbers, I saw it is more than ambient + L7 - just wanted to confirm it is the default profile without HBONE being used?
Note the numbers from 1.21 on sidecar is much better: https://istio.io/v1.21/docs/ops/deployment/performance-and-scalability/

@linsun I believe it is the default profile without HBONE. when I look at the traffic, none of it goes to port 15008.

hmm, do you think we regressed sidecar numbers so bad? Or the difference lies in setup and measurement?

Hi @Stevenjin8 thanks for updating the page! I have 1 question regarding the sidecar numbers, I saw it is more than ambient + L7 - just wanted to confirm it is the default profile without HBONE being used?
Note the numbers from 1.21 on sidecar is much better: https://istio.io/v1.21/docs/ops/deployment/performance-and-scalability/

@linsun I believe it is the default profile without HBONE. when I look at the traffic, none of it goes to port 15008.

hmm, do you think we regressed sidecar numbers so bad? Or the difference lies in setup and measurement?

I'll do some digging, but its hard to tell because there isn't a lot of information about the test setup. Then again, we're not doing anything crazy so it shouldn't matter too much?

@Stevenjin8
Copy link
Author

@linsun Is it even possible for sidecar to sidecar traffic to be over HBONE? I couldn't find any docs on it. All HBONE documentation seems to be under Ambient mode.

Also, I do think the sidecar numbers are right. John ran similar tests (albeit locally on a kind cluster) and got similar numbers

DEST   CLIENT  QPS   CONS  DUR  PAYLOAD  SUCCESS  THROUGHPUT  P50      P90      P99
hyper  fortio  1000  1     5    0        5000     999.75qps   0.391ms  0.523ms  0.818ms
hyper  fortio  1000  4     5    0        5000     999.30qps   0.412ms  0.623ms  1.552ms
hyper  fortio  1000  16    5    0        4992     996.77qps   0.445ms  0.651ms  1.535ms
hyper  fortio  1000  64    5    0        4992     987.42qps   0.494ms  0.818ms  1.895ms
hyper  fortio  1000  128   5    0        4992     975.06qps   0.480ms  0.841ms  1.904ms
hyper  fortio  1000  265   5    0        4770     947.34qps   0.459ms  0.768ms  1.909m

@Stevenjin8
Copy link
Author

@linsun I reran the tests with 1.21 and go the same results

@Stevenjin8
Copy link
Author

going to mark this as ready for review so that the pipelines run

@Stevenjin8 Stevenjin8 marked this pull request as ready for review September 30, 2024 16:17
@Stevenjin8 Stevenjin8 requested a review from a team as a code owner September 30, 2024 16:17
@istio-testing istio-testing removed the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ambient area/perf and scalability size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants