2022云原生编程挑战赛 赛道1 参赛心得 by Misterioso

简介: 本文主要介绍《2022第三届云原生编程挑战赛-赛道1:针对Sidecar模式下的服务网格数据面应用服务访问QPS和延时的优化》的参赛心得。开发者社区的文章似乎不支持latex,所以本文一些内容用图片展示,具体文本可以在https://github.com/Tango-Club/SomeMesh看到。代码部分缺少整理,可能有比较多无用的代码或者写的比较混乱,核心部分在 optimize/optimizer.py 中。

针对Sidecar模式下的服务网格数据面应用服务访问QPS和延时的优化

本赛题的目标是提升服务网格的整体性能, 具体的来说就是平均时延/资源节约率/QPS.

赛题有两个用来量化性能的指标:

图片.png

就如同赛题里所说的, 我们的优化手段主要有三点:

  1. 合理分配Sidecar的资源
  2. 平台特性调优
  3. Sidecar配置调优

接下来我们具体分析这三点内容.

合理分配Sidecar的资源

这可以说是本赛题的重中之重, 直接影响到性能分数和资源分数.

我们的解法分为以下几个步骤:

图片.png
图片.png

平台特性调优

平台特性主要是multi-buffer,可以调整的参数有是否开启和pollDelay值的大小, 我们对这个了解的不多, 做了一些尝试后认为将pollDelay调小到0.1以内或者直接关闭对分数比较有利.

Sidecar配置调优

同样由于我们其实没有istio的实际使用经验, 只能凭借一些资料查阅和实际测试.

最后发现似乎将proxy.istio.io/config: 'concurrency'稍微调大会有一些正面作用, 例如调到[2, 4].

总结

因为欠缺对istio的了解, 所以我们只能把系统当成一个黑盒. 主要把功夫下在资源分配的策略上, 凭借一些贪心策略去构建一个分配资源的模型. 重点在于最低限度使用资源的同时, 根据找到的一些衡量sidecar权重的指标合理分配资源.

实际上赛题中还提供了很多其他信息和数据(例如请求大小, 上一轮的CPU/内存使用量等), 但是我们在经过一些尝试和测试后并没能在其中发现一些能显著对结果有正面相关性的指标(或者并不显著的比目前选择的两个指标更好), 所以最后主要还是只通过请求数量和sidecar数量来分配资源.

相关文章
|
机器学习/深度学习 人工智能 Cloud Native
2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
2024 天池云原生编程挑战赛由阿里云主办,云原生应用平台、天池以及市场营销部联合承办,本届大赛成功吸引了超过 20500 支队伍积极参与,参赛者来自 10 多个国家和地区,大赛规模创下历史新高。
1109 11
|
存储 Kubernetes Cloud Native
探索Python编程的奥秘云原生时代的容器编排:Kubernetes入门与实践
【8月更文挑战第30天】本文以浅显易懂的方式,探讨了Python编程的核心概念和技巧。从基础语法到高级特性,再到实际应用案例,逐步引导读者深入理解Python编程的精髓。通过本文的学习,读者将能够掌握Python编程的基本技能,并激发进一步探索的兴趣。
147 14
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
444 1
|
Cloud Native Java API
为何这款轻量级框架正悄然改变云原生应用开发格局?——探索Micronaut带来的新编程体验
【9月更文挑战第5天】随着云计算的发展,企业纷纷转向云原生应用开发。Micronaut是一款轻量级、高性能的Java框架,专为微服务架构设计,支持JVM和GraalVM,是构建云原生应用的理想选择。本文介绍Micronaut的基本概念并通过示例展示如何快速搭建云原生应用。使用Micronaut CLI可以轻松创建项目并添加REST接口,其注解驱动的API让开发变得简单直接。Micronaut还提供了健康检查、指标收集等高级功能,支持AOT编译,优化应用性能。对于追求高效开发的团队而言,Micronaut提供了一种全新的解决方案。
294 6
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
329 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
4月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
468 17
|
4月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
|
2月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
626 0
|
8月前
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。
|
5月前
|
运维 监控 Cloud Native
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
125 1