2022云原生编程挑战赛 Sidecar QPS优化 参赛过程和体验

简介: 这是我第2次参加云编程挑战赛了,在这里,我向大家分享一下此次比赛的参赛经历和比赛感谢。希望在一些志同道合的朋友身上可以产生一定的共鸣,大家再接再厉,共创优秀成绩!

还记得2年前,我有幸参加了首届云原生编程挑战赛,当时的比赛场景还历历在目。光阴如梭,转眼2年过去了,没想到机缘巧合,我又有机会参见第三届云原生编程挑战赛,心里也甚至激动。
我选择了赛道一,对Sidecar的性能进行优化,这是一个非常有意思的题目。我们需要用最合理的方式为Sidecar分配资源,让整个系统的整体性能达到最优,但同时又要尽可能的降低资源的使用量(无脑大量分配资源的方法显然不可取的)。
那如何为了个Sidecar分配资源呢?显然的方法就是,那个服务比较繁忙,就为哪个服务分配更多的资源了。于是,我就想当然的根据每个容器的CPU使用率进行分配了。可代码运行结果一出来,我就傻眼了,效果非常的差。经过一番调查,发现拿到的实际CPU使用率是一段时间的平均值,非常不准,无法真实反映case执行时的情况,无奈只能另寻出路。
我一直坚信,对资源的分配,一定是基于业务的繁忙情况,那除了CPU使用率外,还有哪些指标可以体现这个繁忙情况呢?经过反复阅读赛题(每次,一切答案也许都隐藏在赛题之中),我发现系统提供的日志里,包含了每个服务的调用和被调用信息,如果能得到每个服务的调用次数,和流量情况,那不是可以按照这个负载进行资源分配了?想到就做,于是,一个日志分析程序呼之而出,上线一跑,别说,效果还是不错,至少证明方向没有错误。
除了资源的分配,赛题提示可以通过EnvoyFilter对Sidecar进行优化,由于我对Istio是零基础,于是只能恶补各种基础知识,经过一番研究,有了几个点子,比如开启port reuse,设置负载均衡等等,但是根据一番测试,效果并不明显,也不明白具体的原因。为初赛留下了遗憾。不过,我觉得这也应该是比赛的有趣之处,留一些困惑,留一些疑问,才会有更大的进步嘛。待到决赛那天一定要好好请教各位导师,这其中的奥妙所在。
经过数月的努力,最终终于入围了决赛,心里也是无比激动的。每一次比赛都是对自身的磨练,感慨于对手的强大,抒发着自己的激情,打磨着自己的意志,体会着自身的进步,这就是比赛的意义。因此,最后不得不由衷感谢大赛主办方和天池,正是他们的存在,才让我们有机会接触一些最前沿的技术,找到前进的方向!

相关文章
|
2月前
|
Cloud Native 测试技术 开发者
终于!我找到了开发的得力助手!阿里云天池云原生编程挑战赛参赛攻略
在比赛过程中,通义灵码插件成为了我开发工作的得力助手。这个插件提供了智能代码补全和错误提示功能,大大提高了我的编码效率。尤其是通义灵码能够实时分析代码,给出优化建议,让我避免了很多潜在的错误。
209 64
|
9天前
|
机器学习/深度学习 人工智能 Cloud Native
2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
2024 天池云原生编程挑战赛由阿里云主办,云原生应用平台、天池以及市场营销部联合承办,本届大赛成功吸引了超过 20500 支队伍积极参与,参赛者来自 10 多个国家和地区,大赛规模创下历史新高。
|
29天前
|
Kubernetes 监控 Cloud Native
Cluster Optimizer:一款云原生集群优化平台
**Cluster Optimizer** 是一款云原生集群优化平台,旨在通过自动化和智能化工具帮助企业降低云成本,解决云原生架构中的成本管理难题。面对资源闲置、配置不当和缺乏自动化优化机制等挑战,Cluster Optimizer能够深入分析云资源、应用和用户行为,精准识别优化机会,并给出具体建议,涵盖节点组、节点、GPU 节点、磁盘、持久卷和应用等多个维度。通过优化实例类型、自动扩缩容和资源分配,帮助企业降低成本、提升性能和效率。[点击此处](https://www.wiseinf.com.cn/docs/setup/) 免费安装和试用 **Cluster Optimizer 社区版**。
80 9
|
29天前
|
Cloud Native Java API
为何这款轻量级框架正悄然改变云原生应用开发格局?——探索Micronaut带来的新编程体验
【9月更文挑战第5天】随着云计算的发展,企业纷纷转向云原生应用开发。Micronaut是一款轻量级、高性能的Java框架,专为微服务架构设计,支持JVM和GraalVM,是构建云原生应用的理想选择。本文介绍Micronaut的基本概念并通过示例展示如何快速搭建云原生应用。使用Micronaut CLI可以轻松创建项目并添加REST接口,其注解驱动的API让开发变得简单直接。Micronaut还提供了健康检查、指标收集等高级功能,支持AOT编译,优化应用性能。对于追求高效开发的团队而言,Micronaut提供了一种全新的解决方案。
46 6
|
2月前
|
存储 Kubernetes Cloud Native
探索Python编程的奥秘云原生时代的容器编排:Kubernetes入门与实践
【8月更文挑战第30天】本文以浅显易懂的方式,探讨了Python编程的核心概念和技巧。从基础语法到高级特性,再到实际应用案例,逐步引导读者深入理解Python编程的精髓。通过本文的学习,读者将能够掌握Python编程的基本技能,并激发进一步探索的兴趣。
31 13
|
2月前
|
运维 Kubernetes Cloud Native
云原生之旅:Kubernetes 集群的搭建与实践Python 编程入门:从零基础到编写实用脚本
【8月更文挑战第30天】在数字化转型的大潮中,云原生技术以其弹性、可扩展性及高效运维能力成为企业IT架构升级的关键。本文将通过实际操作演示如何在本地环境搭建一个简易的Kubernetes集群,带你领略云原生的魅力所在。从集群规划到服务部署,每一步都是对云原生理念的深刻理解和应用。让我们共同探索,如何通过Kubernetes集群的搭建和运维,提升业务灵活性和创新能力。
|
15天前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
13 0
|
2月前
|
Kubernetes Cloud Native JavaScript
云原生入门:Kubernetes的简单部署与管理探索Python编程的魔法:从基础到进阶
【8月更文挑战第28天】随着云计算技术的蓬勃发展,云原生(Cloud Native)已经成为现代软件开发和运维的重要理念。本篇文章将引导读者了解云原生的基础概念,并以Kubernetes为例,展示如何在云平台上进行简单的部署和管理。通过实际操作,你将学会如何利用Kubernetes管理容器化应用,进而掌握云原生服务的核心技能。 【8月更文挑战第28天】在这篇文章中,我们将一起踏上一段激动人心的旅程,穿越Python编程的世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你揭示Python的奥秘和魅力。我们将从基础语法开始,逐步深入到面向对象编程、函数式编程技巧,以及如何利用Pytho
|
6天前
|
Cloud Native 云计算 Docker
云原生之旅:从容器化到微服务架构
【9月更文挑战第27天】本文将引领读者进入云原生的世界,探索如何通过容器化技术实现应用的快速部署与扩展,并深入理解微服务架构的设计哲学。我们将一起见证代码如何转化为可在云端无缝运行的服务,同时讨论云原生生态中的最佳实践和面临的挑战。
|
4天前
|
Kubernetes Cloud Native 持续交付
探索云原生架构:打造弹性可扩展的应用
【9月更文挑战第29天】在云计算的浪潮中,云原生架构成为企业追求高效、灵活和可靠服务的关键。本文将深入解析云原生的概念,探讨如何利用容器化、微服务和持续集成/持续部署(CI/CD)等技术构建现代化应用。我们将通过一个简易的代码示例,展示如何在Kubernetes集群上部署一个基于Node.js的应用,从而揭示云原生技术的强大能力和潜在价值。
15 6

热门文章

最新文章

下一篇
无影云桌面