Skip to content

Conversation

@orangegzx
Copy link
Member

@orangegzx orangegzx commented Apr 23, 2021

[ ] Configuration Infrastructure
[x] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@orangegzx orangegzx requested a review from a team as a code owner April 23, 2021 10:40
@google-cla google-cla bot added the cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA. label Apr 23, 2021
@istio-testing istio-testing added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Apr 23, 2021
Copy link
Contributor

@lambdai lambdai left a comment

Choose a reason for hiding this comment

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

Generally LGTM. Thanks!

### Istio {{< istio_release_name >}} 的延迟 {#latency-for-Istio}

Istio {{< istio_release_name >}} 的默认配置在 90% 的情况下使数据平面的延迟比基线增加了 6.3 ms。我们通过 `http/1.1` 协议的 [Istio 基准测试](https://github.com/istio/tools/tree/master/perf/benchmark)获得了结果,测试标准是每秒 1000 请求,负载为 1KB,使用了 16 个客户端连接和 2 个代理,双向 TLS 打开状态。
在网格内部,一个请求会先遍历客户端代理,然后遍历服务端代理。Istio {{< istio_release_name >}} 的默认配置(即带有遥测功能的 Istio v2),在 90% 的情况下,这两个代理在基线数据面延迟的基础上,分别增加了 2.65 毫秒和 2.91 毫秒的延迟。启用 `jitter` 后,这些数字分别减少 1.7 ms 和 2.69 ms。我们通过 `http/1.1` 协议的 [`Istio 基准测试`](https://github.com/istio/tools/tree/{{< source_branch_name >}}/perf/benchmark)获得了结果,测试标准是每秒 1000 请求,负载为 1KB,使用了 16 个客户端连接和 2 个代理,双向 TLS 打开状态。
Copy link
Contributor

Choose a reason for hiding this comment

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

即带有遥测功能的 Istio v2 -> 即带有遥测功能v2的 Istio

- `telemetryv2-nullvm_serveronly` 使用遥测 v2 的 **server-sidecars** 模式。目标是将来执行与 "No Mixer" 相同的功能。
- `baseline` 客户端 Pod 直接调用服务端 Pod,没有 Sidecar 参与。
- `none_both` Istio 代理,未配置 Istio 特定的过滤器。
- `v2-stats-wasm_both` 客户端和服务器 Sidecar 与遥测版本 v2 `v8`配置在一起。
Copy link
Contributor

Choose a reason for hiding this comment

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

客户端和服务器 Sidecar 与遥测版本 v2 v8配置在一起。
->
客户端和服务器 Sidecar 同时配置v8 js的wasm引擎的第二版遥测。

- `baseline` 客户端 Pod 直接调用服务端 Pod,没有 Sidecar 参与。
- `none_both` Istio 代理,未配置 Istio 特定的过滤器。
- `v2-stats-wasm_both` 客户端和服务器 Sidecar 与遥测版本 v2 `v8`配置在一起。
- `v2-stats-nullvm_both` 默认情况下,客户端和服务器 Sidecar 与遥测版本 v2 `nullvm` 一起提供。
Copy link
Contributor

Choose a reason for hiding this comment

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

客户端和服务器 Sidecar 同时配置nullvm的wasm引擎的第2版遥测。

- `none_both` Istio 代理,未配置 Istio 特定的过滤器。
- `v2-stats-wasm_both` 客户端和服务器 Sidecar 与遥测版本 v2 `v8`配置在一起。
- `v2-stats-nullvm_both` 默认情况下,客户端和服务器 Sidecar 与遥测版本 v2 `nullvm` 一起提供。
- `v2-sd-full-nullvm_both` 在配置了遥测 v2 `nullvm` 的情况下,导出 Stackdriver 指标、访问日志和边缘。
Copy link
Contributor

Choose a reason for hiding this comment

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

在配置了遥测 v2 nullvm 的情况下,导出 Stackdriver 指标、访问日志和边缘。

P.S 我搞不懂什么是edge

Istiod 根据用户编写的配置文件和系统当前状态来配置 Sidecar 代理。在 Kubernetes 环境中,自定义资源定义(CRDs)和部署构成了系统的配置和状态。像网关和虚拟服务这样的 Istio 配置对象提供了用户编写配置的能力。Istiod 综合处理配置和系统状态,生成代理的配置信息这些配置和系统状态源自 Kubernetes 环境和用户编写的配置文件。

控制平面支持数千个服务,分布在数千个 pod 上,所需的用户自有虚拟服务和其它配置对象的数量级与之类似。Pilot 的 CPU 和内存资源需求量与系统配置和可能状态的量级成正比。CPU 消耗的变化取决于以下因素:
控制平面支持数千个服务,分布在数千个 Pod 上,所需的用户自有虚拟服务和其它配置对象的数量级与之类似。Istiod 的 CPU 和内存需求随着配置和可能的系统状态的数量量而扩展。CPU 消耗的变化取决于以下因素:
Copy link
Contributor

Choose a reason for hiding this comment

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

... 可能的系统状态的数量量而扩展 ->
... 可能的系统状态的数量而增长

Copy link
Member

@Xunzhuo Xunzhuo left a comment

Choose a reason for hiding this comment

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

Generally LGTM

Istio 以十分便捷且对应用程序透明的方式,为已部署的服务创建网络,提供完善的网络功能,包括:路由规则、负载均衡、服务到服务的验证以及监控等。Istio 致力于用最小的资源开销实现最大的便易性,旨在支持高请求率非常大规模的网格,同时让延迟最小化。

Istio 的数据平面组件 Envoy 代理用来处理通过系统的数据流。控制平面组件如 Pilot、Galley 和 Citadel 负责配置数据平面。数据平面和控制平面有不同的性能关注点
Istio 的数据平面组件,即 Envoy 代理,用来处理通过系统的数据流。控制平面组件 Istio 负责配置数据平面。数据平面和控制平面有不同的性能问题
Copy link
Member

Choose a reason for hiding this comment

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

Reconsider that Istio or Istiod ?

## 控制平面性能 {#control-plane-performance}

Pilot 根据用户编写的配置文件和系统当前状态来配置 sidecar 代理。在 Kubernetes 环境中,自定义资源定义(CRDs)和部署构成了系统的配置和状态。像网关和虚拟服务这样的 Istio 配置对象提供了用户编写配置的能力。Pilot 综合处理配置和系统状态,生成代理的配置信息这些配置和系统状态源自 Kubernetes 环境和用户编写的配置文件。
Istiod 根据用户编写的配置文件和系统当前状态来配置 Sidecar 代理。在 Kubernetes 环境中,自定义资源定义(CRDs)和部署构成了系统的配置和状态。像网关和虚拟服务这样的 Istio 配置对象提供了用户编写配置的能力。Istiod 综合处理配置和系统状态,生成代理的配置信息这些配置和系统状态源自 Kubernetes 环境和用户编写的配置文件。
Copy link
Member

Choose a reason for hiding this comment

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

像网关和虚拟服务这样的 Istio 配置对象提供了用户编写配置的能力 -> 为网关和虚拟服务这样的 Istio 配置对象提供了用户编写配置的能力

@Xunzhuo Xunzhuo self-assigned this Oct 27, 2021
@istio-policy-bot istio-policy-bot added the lifecycle/automatically-closed Indicates a PR or issue that has been closed automatically. label Oct 27, 2021
@Xunzhuo Xunzhuo removed the lifecycle/automatically-closed Indicates a PR or issue that has been closed automatically. label Oct 27, 2021
@Xunzhuo Xunzhuo reopened this Oct 27, 2021
@istio-testing
Copy link
Contributor

istio-testing commented Oct 27, 2021

@orangegzx: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
lint_istio.io 0043c81 link true /test lint_istio.io

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing
Copy link
Contributor

@orangegzx: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@istio-testing istio-testing added the needs-rebase Indicates a PR needs to be rebased before being merged label Feb 18, 2022
@windsonsea
Copy link
Member

/close

This is outdated and the author has no any response in 15 months to the comments.

@windsonsea windsonsea closed this Sep 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA. kind/docs needs-rebase Indicates a PR needs to be rebased before being merged size/M Denotes a PR that changes 30-99 lines, ignoring generated files. translation/chinese Translation item

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants