Envoy原理介绍及线上问题踩坑rights reserved. Page 3 目录 1. Envoy启动及配置文件 2. Envoy流量拦截原理、常用部署方式 3. Envoy可扩展过滤器架构、可观测性 4. Envoy线程模型 5. 生产环境问题分析及解决方法 6. 针对Envoy做的一些优化及效果 7. 常用性能分析测试工具及使用方法 8. 华为ASM产品介绍 Copyright © Huawei Technologies 内的iptables规则进行拦截 • 默认为2个工作线程 • 默认最大上游连接数1024,最大挂起 等待请求数1024 • 外部请求通过直接访问ingressgateway 网关端口进入网格 • ingressgateway为envoy相同二进制, 不做iptables规则注入,作为外网客户 端网格内代理。 • ingressgateway不设置工作线程数限 制,并且最大上游连接及最大挂起等待 请求数请求数默认值不做限制。 rights reserved. Page 11 Envoy网络及线程模型 主线程 初始化 日 志 线 程 读 取 配 置 x D S 监 听 网络事件 启 动 工 作 线 程 定时器事件 a d m i n 请 求 X D S 更 新 合 并 s t a t 刷 新 D N S 调度器 工作线程 网络事件 定时器事件 监 听 器 监 听 过 滤 器 释 放 内0 码力 | 30 页 | 2.67 MB | 1 年前3
消息中间件RocketMQ原理解析 - 斩秋........................................................................ 42 6.2:索引服务 IndexService 线程 ................................................................................. 43 6.3:构建索引服务 . 可以认为是事物状态消息的个数,索引偏移量, 它的值是 tranStateTable.getMaxOffset() / TSStoreUnitSize 2.2.4 事物回查 定时回查线程会定时扫描(默认每分钟)每个存储事务状态的表格文件, 遍历存储事 务状态的表格记录 如果是已经提交或者回滚的消息调过过, 如果是 prepared 状态的如果消息小于事务回查至少间隔时间(默认是一分钟)跳出终 Broker) 统计信息打点 动态调整消费线程池 启动拉消息服务 PullMessageService 启动消费端负载均衡服务 RebalanceService 从 namesrv 更新 topic 路由信息 向所有 broker 发送心跳信息,(包括订阅关系) 唤醒 Rebalance 服务线程 二:消费端负载均衡0 码力 | 57 页 | 2.39 MB | 1 年前3
OpenShift Container Platform 4.7 安装相同的架构。有效值为 amd64 (默认 值)。 字符串 compute.hyperthread ing 是否在计算机器上启用或禁用并发多线 程或超 超线 线程 程。默认情况下,启用并发多 线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled compute.name 使用 compute (默认 值)。 字符串 controlPlane.hyperth reading 是否在 control plane 机器上启用或禁用 并发多线程或超 超线 线程 程。默认情况下,启 用并发多线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled controlPlane.name 使用 plane 池。 是否要启用或禁用并发多线程或超 超线 线程 程。默认情况下,启用并发多线程以提高机器内核的性能。您 可以通过将参数值设为 Disabled 来禁用。如果您在某些集群机器上禁用并发多线程,则必须在所有 集群机器上禁用。 重要 重要 如果禁用并发多线程,请确保在容量规划时考虑到机器性能可能会显著降低的问题。 如果您对机器禁用并发多线程,请使用较大的实例类型,如 m4.2xlarge0 码力 | 2276 页 | 23.68 MB | 1 年前3
OpenShift Container Platform 4.8 安装相同的架构。有效值为 amd64 (默认 值)。 字符串 compute.hyperthrea ding 是否在计算机器上启用或禁用并发多线 程或超 超线 线程 程。默认情况下,启用并发多 线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled compute.name 使用 compute 上安装 上安装 71 controlPlane.hypert hreading 是否在 control plane 机器上启用或禁用 并发多线程或超 超线 线程 程。默认情况下,启 用并发多线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled controlPlane.name 使用 plane 池。 是否要启用或禁用并发多线程或超 超线 线程 程。默认情况下,启用并发多线程以提高机器内核的性能。您 可以通过将参数值设为 Disabled 来禁用。如果您在某些集群机器上禁用并发多线程,则必须在所有 集群机器上禁用。 重要 重要 如果禁用并发多线程,请确保在容量规划时考虑到机器性能可能会显著降低的问题。 如果您对机器禁用并发多线程,请使用较大的实例类型,如 m4.2xlarge0 码力 | 2586 页 | 27.37 MB | 1 年前3
OpenShift Container Platform 4.6 在vSphere 上安装相同的架构。有效值为 amd64 (默认 值)。 字符串 compute.hyperthread ing 是否在计算机器上启用或禁用并发多线 程或超线程。默认情况下,启用并发多 线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled compute.name 使用 compute 时需要此值。机器池的 amd64 (默认 值)。 字符串 controlPlane.hyperth reading 是否在 control plane 机器上启用或禁用 并发多线程或超线程。默认情况下,启 用并发多线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled controlPlane.name 使用 controlPlane control plane 池。 是否要启用或禁用并发多线程或超线程。默认情况下,启用并发多线程以提高机器内核的性能。您 可以通过将参数值设为 Disabled 来禁用。如果您在某些集群机器上禁用并发多线程,则必须在所有 集群机器上禁用。 重要 重要 如果禁用并发多线程,请确保在容量规划时考虑到机器性能可能会显著降低的问题。 如果您禁用并发多线程,则计算机必须至少使用 8 个 CPU 和 32GB0 码力 | 204 页 | 2.26 MB | 1 年前3
OpenShift Container Platform 4.10 安装第 第 4 章 章 在 在 ALIBABA 上安装 上安装 93 compute.hyperthrea ding 是否在计算机器上启用或禁用并发多 线 线 程或超 程或超线 线程 程。默认情况下,启用并发 多线程以提高机器内核的性能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled compute.name 必须指定相同的架构。有效值为 amd64 (默认值)。 字符串 controlPlane.hypert hreading 是否在 control plane 机器上启用或禁用 并发多 线 线程或超 程或超线 线程 程。默认情况下, 启用并发多线程以提高机器内核的性 能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled controlPlane 第 4 章 章 在 在 ALIBABA 上安装 上安装 115 compute.hyperthrea ding 是否在计算机器上启用或禁用并发多 线 线 程或超 程或超线 线程 程。默认情况下,启用并发 多线程以提高机器内核的性能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled compute.name0 码力 | 3142 页 | 33.42 MB | 1 年前3
RocketMQ v3.2.4 开发指南Consumer Group 消费。 顺序消息 消费消息的顺序要同収送消息的顺序一致,在 RocketMQ 中,主要挃的是尿部顺序,即一类消息为满足顺 序性,必须 Producer 单线程顺序収送,丏収送到同一个队列,返样 Consumer 就可以挄照 Producer 収送 的顺序去消费消息。 普通顺序消息 顺序消息的一种,正常情冴下可以保证完全的顺序消息,但是一旦収生通信异常,Broker RAID 卡,SAS 15000 转磁盘测试顺序写文件,速度可以达到 300M 每秒左史,而线上的网卡一般都为千兆 网卡,写磁盘速度明显快亍数据网络入口速度,那举是否可以做到写完内存就吐用户迒回,由后台线程刷盘呢? (1). 由亍磁盘速度大亍网卡速度,那举刷盘的迕度肯定可以跟上消息的写入速度。 (2). 万一由亍此时系统压力过大,可能堆积消息,除了写入 IO,迓有读叏 IO,万一出现磁盘读叏落后情冴, 同步刷盘不异步刷盘的唯一区别是异步刷盘写完 PAGECACHE 直接迒回,而同步刷盘需要等待刷盘完成才迒回, 同步刷盘流程如下: (1). 写入 PAGECACHE 后,线程等待,通知刷盘线程刷盘。 (2). 刷盘线程刷盘后,唤醒前端等待线程,可能是一批线程。 (3). 前端等待线程吐用户迒回成功。 项目开源主页:https://github.com/alibaba/RocketMQ 20 7.3 消息查询0 码力 | 52 页 | 1.61 MB | 1 年前3
OpenShift Container Platform 4.10 可伸缩性和性能对虚拟块设备使用 I/O 线程 要使虚拟块设备使用 I/O 线程,您必须为虚拟服务器和每个虚拟块设备配置一个或多个 I/O 线程,以使用 其中一个 I/O 线程。 以下示例指定了3 来配置三个 I/O 线程,带有连续十进制线程 ID 1、2 和 3。iothread="2" 参数指定要使用 ID 为 2 的 I/O 线程的磁盘设备的驱动程序元素。 线程的磁盘设备的驱动程序元素。 I/O 线 线程 程规 规格示例 格示例 $ oc delete -f 05-worker-kernelarg-hpav.yaml ...33 1 2 I/O 线程的数量。 磁盘设备的驱动程序元素。 线程可以提高磁盘设备的 I/O 操作性能,但也可使用内存和 CPU 资源。您可以将多个设备配置为使用同 一线程。线程到设备的最佳映射取决于可用资源和工作负载。 从少量 I/O 线程开始。通常,为所有磁盘设备使用单个 I/O 线程就足够了。不要配置超过虚拟 CPU 数量 的线程,也不要配置空闲线程。 您可以使用 virsh iothreadadd 0 码力 | 315 页 | 3.19 MB | 1 年前3
OpenShift Container Platform 4.13 安装决定池中机器的指令集合架构。目前, 不支持具有不同架构的集群。所有池都 必须指定相同的架构。有效值为 amd64 (默认值)。 字符串 compute: 超线程: 是否在计算机器上启用或禁用并发多 线 线 程或超 程或超线 线程 程。默认情况下,启用并发 多线程以提高机器内核的性能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled 不支持具有不同架构的集群。所有池都 必须指定相同的架构。有效值为 amd64 (默认值)。 字符串 controlPlane: 超线程: 是否在 control plane 机器上启用或禁用 并发多 线 线程或超 程或超线 线程 程。默认情况下, 启用并发多线程以提高机器内核的性 能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 决定池中机器的指令集合架构。目前, 不支持具有不同架构的集群。所有池都 必须指定相同的架构。有效值为 amd64 (默认值)。 字符串 compute: 超线程: 是否在计算机器上启用或禁用并发多 线 线 程或超 程或超线 线程 程。默认情况下,启用并发 多线程以提高机器内核的性能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled0 码力 | 4634 页 | 43.96 MB | 1 年前3
OpenShift Container Platform 4.6 在裸机上安装GB 100 GB 300 Compute RHCOS 或 RHEL 7.9 2 8 GB 100 GB 300 1. 当未启用并发多线程(SMT)或超线程时,一个 CPU 相当于一个物理内核。启用后,使用以下公式 来计算对应的比率:(每个内核数的线程)LIMIT 插槽 = CPU。 2. OpenShift Container Platform 和 Kubernetes 对磁盘性能非常敏感,建议使用更快的存储速度, 相同的架构。有效值为 amd64 (默认 值)。 字符串 compute.hyperthread ing 是否在计算机器上启用或禁用并发多线 程或超 超线 线程 程。默认情况下,启用并发多 线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled compute.name 使用 compute (默认 值)。 字符串 controlPlane.hyperth reading 是否在 control plane 机器上启用或禁用 并发多线程或超 超线 线程 程。默认情况下,启 用并发多线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled 参数 参数 描述 描述 值 值 OpenShift0 码力 | 160 页 | 1.70 MB | 1 年前3
共 51 条
- 1
- 2
- 3
- 4
- 5
- 6













