腾讯云 Kubernetes 高性能网络技术揭秘——使用 eBPF 增强 IPVS 优化 K8s 网络性能-范建明
TKE使用eBPF优化 k8s service Jianmingfan 腾讯云 目录 01 Service的现状及问题 优化的方法 02 和业界方法的比较 性能测试 03 04 解决的BUG 未来的工作 05 06 01 Service的现状及问题 什么是k8s Service • 应用通过固定的VIP访问一组pod,应用对Pod ip变化 无感知 • 本质是一个负载均衡器 控制面和数据面算法复杂度都是O(1) • 经历了二十多年的运行,比较稳定成熟 • 支持多种调度算法 优势 IPVS mode 不足之处 • 没有绕过conntrack,由此带来了性能开销 • 在k8s的实际使用中还有一些Bug 02 优化的方法 指导思路 • 用尽量少的cpu指令处理每一个报文 • 不能独占cpu • 兼顾产品的稳定性,功能足够丰富 弯路 度算法丰富。 • 优势 • 完全绕过了conntrack/iptables • 对内核修改更小 04 性能测试 性能测试踩过的坑 设置测试环境 • 配置一样的cluster,性能可能不同。 • 多个CVM分布在同一台物理主机 • 同一个cluster,在不同的时间段,性能可能不同 • cpu 超卖 • 使用同一个cluster,在相近的时间段,比较两种mode • 使得cpu成为瓶颈点0 码力 | 27 页 | 1.19 MB | 9 月前3Service Mesh的延伸 — 论道Database Mesh
TCC 业务改造 无 无 实现补偿接口 实现TCC接口 回滚 支持 不支持 支持 支持 一致性 强一致 最终一致 最终一致 最终一致 隔离性 原生支持 不支持 不支持 Try接口支持 并发性能 严重衰退 无影响 无影响 略微衰退 适合场景 短事务 并发较低 事务最终成功 高并发 长事务 应用方控制并发 高并发 长事务 高并发分布式事务:柔性事务自动化 快照记录 • INSERT • 数据库连接数占用高 • 仅支持单一开发语言 • 性能损耗低 • 无中心化 代理端 • 仅支持单一数据库 • 数据库连接数占用低 • 支持任意开发语言 • 性能损耗高JDBC Proxy Sidecar 数据库 任意 单一 单一 连接数 高 低 高 异构语言 仅Java 任意 任意 性能 损耗低 损耗略高 损耗低 无中心化 是 否 是 静态入口 无 有 无 Sidecar的优势Database0 码力 | 35 页 | 4.56 MB | 5 月前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
可观测性 安全防护 服务网格的痛点 方案众多,各有缺陷 与基础设施整合成本高 性能损耗 资源的额外消耗 扩展难度高 理想的服务网格应该是什么样? 易于扩展 理想的服务网格 业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 理想的服务网格 整体使用体验上 • 学习和上手成本低 • 社区开放、活跃度高 社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 • 配置方式被大众接受 理想的服务网格 数据面 • 支持多种协议,甚至是自定义协议 • 性能损耗低 • 资源占用在可控范围 • 启动速度快 • 方便定位问题 • 扩展能力强 APISIX 在 Service Mesh 上的尝试 控制面的抉择 控制面 - 拥抱 Istio Istio 是当前最为流行的服务网格方案 APISIX 高性能云原生网关 数据面和控制面分离 强大的扩展能力 丰富的生态集成 Apache APISIX的应用案例 https://apisix.apache.org/zh/blog/tags/case-studies/ APISIX Service Mesh Amesh 基于 Apache APISIX 实现 Service Mesh 解决方案 性能提升 • QPS0 码力 | 34 页 | 3.50 MB | 5 月前3Istio 与 Knative 踩坑实录
的价值和问题14/25 性能损耗 Istio 的价值和问题 每 pod 多占用内存 20 MB -8 毫秒 测试 API 平均响应时 间变化量 吞吐量提升 5 %15/25 Pilot、Mixer 性能瓶颈 Istio 的价值和问题16/25 总结 Istio 的价值和问题 • 已经可以稳定用在生产环境 • 工程架构收益 >> 性能资源损耗 • 根据组织和业务情况推广或改造,新旧体系可并存0 码力 | 26 页 | 1.35 MB | 5 月前3蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘 奕杉Agenda Ø背景 Ø构架 Ø能力 Ø性能 ØRoadMap背景为什么蚂蚁需要ServiceMesh Ø拥抱微服务,云原生 • SOFA 5规划落地 • 兼容K8S的智能调度体系 Ø运维体系的有力支撑 • LDC • 弹性伸缩 • 蓝绿/容灾/.. Ø金融级网络安全 • 金融级鉴权体系 • 云原生zero trust网络安全趋势 无法保证上下游应用同时升级到Mesh模式 ü 基于RPC内容的流量调度 ü 升级窗口有限,方案必须简单高效 Ø运维体系,容器化建设等方面适配 ü 蚂蚁运维架构建立在流量调度的基础上 ü 容器管理平台更替快速进行中 ØGolang 性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 自定义filter • TCP层自定义私有协议 • 自定义Codec • 自定义Stream • 其他 • 路由 • 后端管理4 性能单核优化点 1 Ø绑核 ü 更好的 runtime G-P-M data locality亲和性 ü 整体性能提升约 30% Ø内存 ü SLAB-style buffer pool ü 内存优化 ØIO ü IO 优化 ü IO 均衡 Ø调度0 码力 | 44 页 | 4.51 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
全称:弹性裸金属服务器(神龙) • 阿里造“神龙”神龙 X-Dragon • 优势: • 性能 • 弹性 • 支持再虚拟化 2017/10 阿里云神龙正式商用 (AWS Nitro 2017/11)技术选型 • 全面上云为什么要用神龙? • 高性能:去掉了虚拟化带来的 8% 的性能损耗 • 支持二次虚拟化:使多样虚拟化技术 (Kata, Firecracker 等) 的探索和创新成为 • Alibaba Serverless Infrastructure (ASI) 的基石上云效率提升 物理机 (云下) 神龙裸金属 (云上) 交付周期 周 分钟级 弹性扩缩容 - 支持 性能 独占 独占 (优于普通ECS) 硬件故障率 硬盘1年故障率 2% 0.8%% (无本地盘) 硬件维修周期 [周, 月] [分钟,天]成本 效率 稳定云化架构 物理机 + 本地存储 + Underlay网 基础环境复杂 • 大规模 在线、离线 混部 (运维打通) • 装机模板、OS版本、内核版本多;内核补丁、参数不同;其他如网卡中断打散 • 稳定性要求高 • 性能、宕机、夯机、抖动系统架构 • 基础监控 • 秒级、分钟级监控 • 内核性能指标采集 • 监控大盘 • 在线率 • 宕机率 • 抖动率 • 基线系统 • 基础环境一致性故障自愈 (1-5-10) • 监控、故障发现 (1-5)0 码力 | 21 页 | 7.81 MB | 5 月前3Curve文件系统元数据持久化方案设计
保存编码后的 value© XXX Page 5 of 12 其他说明 持久化文件中涉及到的数字均以小端序存储 利用 fork 子进程 (COW) 的方式解决在持久化的过程中,读写冲突的问题以及性能问题 实现 1、inode、entry 的编码 给 inode、dentry 增加编码函数 // 这里要尽可能减少 key/value 编码后的字节数,这样同样的内存可以存入较多的 key/value 所以,AOF 不能保证数据 100% 不丢失(RDB 持久化更不能),结论就是单靠 redis 无法保证数据 100% 不丢失(这主要是 redis 基于性能考量,毕竟纯内存数据库,如果利用 WAL 每次写文件再 sync,那么性能就会下降很多) 所以,单靠 redis 的方案是不行了. redis 的高可用、高可扩方案? 主要是 redis cluster + 主从复制 (或者第三方 B+ 树或跳表,但是 redis 中的这些数据结构我们是不需要的 另外,如果 C++ 中的哈希表在后期使用中发现性能不达标的话(特别是在 rehash 扩桶的时候),我们可以把 redis 中的哈希表借鉴过来用(redis 中的哈希实现很独立,单独的文件 t_hash.c,其性能表现也非常好) redis 哈希表实现主要优点参考以下 总的来说,我们只是参考 redis 持久化实现,而 redis0 码力 | 12 页 | 384.47 KB | 5 月前3Nacos架构&原理
高可用设计 100 Nacos 鉴权插件 103 Nacos 账号权限体系 103 Nacos 认证机制 110 Nacos 前端设计 117 Nacos 前端设计 117 Nacos 性能报告 122 Nacos Naming 大规模测试报告 122 Nacos ⽣态 130 Nacos Spring 生态 130 Nacos Docker & Kubernetes 生态 137 os 作为核心引擎 孵化于 2008 年的阿里五彩石项目,自主研发完全可控,经历十多年双 11 洪峰考验,沉淀了高性能、 高可用、可扩展的核心能力,2018 年开源后引起了开发者的广泛关注和大量使用。本书也将介绍 Nacos 偏 AP 分布式系统的设计、全异步事件驱动的高性能架构和面向失败设计的高可用设计理念 等。相信开发者阅读后不仅可以更深入了解 Nacos,也有助于提高分布式系统的设计研发能力。 阿里巴巴在 10 多年分布式应用架构实践过程中,产出了⼀大批非常优秀的中间件技术产品,其中软 负载领域的 Diamond、Configserver、Vipserver,无论在架构先进性、功能丰富度以及性能方面均 有非常出色的积累,2018 年初中间件团队决定把这⼀领域的技术进行重新梳理并开源,这就是本书 介绍的主角 Nacos,经过三年时间的发展,Nacos 已经被大量开发者和企业客户用于生产环境,本0 码力 | 326 页 | 12.83 MB | 9 月前3TiDB中文技术文档
生成自签名证书 监控集群 整体监控框架概述 重要监控指标详解 组件状态 API & 监控 扩容缩容 集群扩容缩容方案 使用 Ansible 扩容缩容 升级 升级组件版本 TiDB 2.0 升级操作指南 性能调优 备份与迁移 备份与恢复 数据迁移 数据迁移概述 数据迁移 故障诊断 TiDB 周边工具 Syncer Loader TiDB-Binlog PD Control TiKV Control TiDB 0 RC1 1.1 Beta 1.1 Alpha 1.0 Pre-GA RC4 RC3 RC2 RC1 TiDB 路线图 性能测试 TiDB Sysbench 性能测试报告 - v1.0.0 TiDB TPC-H 50G 性能测试报告 - v2.0 TiDB Sysbench 性能对比测试报告 - v2.0.0 对比 v1.0.0 - 5 - 本文档使用 书栈(BookStack.CN) 构建 致谢 生成自签名证书 监控集群 整体监控框架概述 重要监控指标详解 组件状态 API & 监控 扩容缩容 集群扩容缩容方案 使用 Ansible 扩容缩容 升级 升级组件版本 TiDB 2.0 升级操作指南 性能调优 备份与迁移 备份与恢复 数据迁移 数据迁移概述 全量导入 增量导入 故障诊断 TiDB 周边工具 Syncer Loader TiDB-Binlog PD Control TiKV Control0 码力 | 444 页 | 4.89 MB | 5 月前3TiDB v8.5 中文手册
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 102 3.4.6 HTAP 性能监控 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 372 4.8.4 优化向量搜索性能 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 462 4.10 优化 SQL 性能 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5095 页 | 104.54 MB | 9 月前3
共 147 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15