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数量来分配资源.

相关文章
2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
2024 天池云原生编程挑战赛由阿里云主办,云原生应用平台、天池以及市场营销部联合承办,本届大赛成功吸引了超过 20500 支队伍积极参与,参赛者来自 10 多个国家和地区,大赛规模创下历史新高。
探索Python编程的奥秘云原生时代的容器编排:Kubernetes入门与实践
【8月更文挑战第30天】本文以浅显易懂的方式,探讨了Python编程的核心概念和技巧。从基础语法到高级特性,再到实际应用案例,逐步引导读者深入理解Python编程的精髓。通过本文的学习,读者将能够掌握Python编程的基本技能,并激发进一步探索的兴趣。
57 14
为何这款轻量级框架正悄然改变云原生应用开发格局?——探索Micronaut带来的新编程体验
【9月更文挑战第5天】随着云计算的发展,企业纷纷转向云原生应用开发。Micronaut是一款轻量级、高性能的Java框架,专为微服务架构设计,支持JVM和GraalVM,是构建云原生应用的理想选择。本文介绍Micronaut的基本概念并通过示例展示如何快速搭建云原生应用。使用Micronaut CLI可以轻松创建项目并添加REST接口,其注解驱动的API让开发变得简单直接。Micronaut还提供了健康检查、指标收集等高级功能,支持AOT编译,优化应用性能。对于追求高效开发的团队而言,Micronaut提供了一种全新的解决方案。
96 6
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
124 0
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
84 3
云原生架构的演进与挑战
随着云计算技术的不断发展,云原生架构已成为企业数字化转型的重要支撑。本文深入探讨了云原生架构的概念、发展历程、核心技术以及面临的挑战,旨在为读者提供一个全面了解云原生架构的视角。通过分析Kubernetes、Docker等关键技术的应用,以及微服务、持续集成/持续部署(CI/CD)等实践案例,本文揭示了云原生架构在提高应用开发效率、降低运维成本、增强系统可扩展性等方面的显著优势。同时,也指出了云原生架构在安全性、复杂性管理等方面所面临的挑战,并提出了相应的解决策略。
云原生架构的崛起:企业数字化转型的加速器
在当今快速发展的技术环境中,企业正面临着前所未有的变革压力。本文深入探讨了云原生架构如何成为推动企业数字化转型的关键力量。通过分析其核心概念、优势以及实施策略,本文旨在为读者提供对云原生技术的全面理解,展示其在现代企业中不可或缺的作用。
64 19
云原生技术深度探索:重塑现代IT架构的无形之力####
本文深入剖析了云原生技术的核心概念、关键技术组件及其对现代IT架构变革的深远影响。通过实例解析,揭示云原生如何促进企业实现敏捷开发、弹性伸缩与成本优化,为数字化转型提供强有力的技术支撑。不同于传统综述,本摘要直接聚焦于云原生技术的价值本质,旨在为读者构建一个宏观且具体的技术蓝图。 ####
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等