35|[视频]实际项目中的性能优化:ingress-nginx中的几个PR解读
文章目录
你好,我是温铭。
今天的内容,我同样会以视频的形式来讲解。老规矩,在你进行视频学习之前,先问你这么几个问题:
- 如何在开源项目中找到可能存在的性能问题?
- 在 Github 上,如何与其他开发者正确地交流?
这几个问题,也是今天视频课要解决的核心内容,希望你可以先自己思考一下,并带着问题来学习今天的视频内容。
同时,我会给出相应的文字介绍,方便你在听完视频内容后,及时总结与复习。下面是今天这节课的文字介绍部分。
今日核心
ingress-nginx 是 k8s 官方的一个项目,主要使用 Go、Nginx 和 lua-nginx-module 来处理入口流量。
在今天的视频中,我会为你清楚介绍,如何运用我们刚刚学习的性能优化方面的知识,来发现开源项目的性能问题。要知道,在我们给开源项目贡献 PR 时,跑通测试案例集以及与项目维护者积极沟通,都是非常重要的。
下面是 ingress-nginx 中,和 OpenResty 性能相关的两个 PR:
- https://github.com/kubernetes/ingress-nginx/pull/3673
- https://github.com/kubernetes/ingress-nginx/pull/3674
从中你也可以发现,即使是资深的开发者,对 LuaJIT 相关的优化,可能也并不是很熟悉。一方面是因为,这两个 PR 涉及到的代码,并不会对整体系统造成严重的性能下降;另一个方面,这方面的优化知识,没有人系统地总结过,开发者即使想优化也找不到方向。
事实上,很多时候,我们站在代码可读性和可维护性的角度来看,可有可无的优化是不必要的,你只要去优化那些被频繁执行的代码片段就可以了,过度优化是万恶之源。
那么,学完今天这节课后,你是否可以在其他的开源项目中,找到类似的性能优化点呢?
课件参考
今天的课件已经上传到了我的 GitHub 上,你可以自己下载学习。
链接如下:https://github.com/iresty/geektime-slides
如果有不清楚的地方,你可以在留言区提问,另也可以在留言区分享你的学习心得。期待与你的对话,也欢迎你把这篇文章分享给你的同事、朋友,我们一起交流、一起进步。
文章作者 anonymous
上次更新 2024-05-20