十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Higress网关资源优化:CPU与内存占用砍掉一半的4处配置

Higress网关资源优化:CPU与内存占用砍掉一半的4处配置 Higress网关资源优化CPU与内存占用砍掉一半的4处配置【免费下载链接】higress AI Gateway | AI Native API Gateway项目地址: https://gitcode.com/GitHub_Trending/hi/higressHigress是基于Envoy的AI原生API网关本文以仓库里的真实values.yaml为例带你过一遍资源消耗定位和关键参数修改的完整流程把网关的CPU和内存占用从默认的高水位降到实际需要的水平。一、先搞清楚你的网关资源到底花在哪了调参之前先看资源去向网关的消耗基本集中在三块弄清楚之后改什么心里才有数上游连接并发网关同时维持到上游服务的连接越多每条连接占用的缓冲和状态就越多这是内存的第一大来源连接并发可以理解为同时有多少条流水线在跑。请求体缓冲非流式场景下Envoy要把请求或响应体整体缓存在内存里body越大、响应越慢内存峰值越高。副本冗余默认部署就是2个网关副本如果每个副本的资源申请又偏高整个集群的占用直接翻倍。二、配置清单拿到项目后先改这几项配置示例文件 里已经给出了全部默认值下面4处是最值得先动的网关资源请求与限制gateway.resources默认requests和limits都是2核/2GB对小流量环境偏高先把两项一起调低观察稳定后再逐步回调。gateway: resources: requests: { cpu: 1000m, memory: 1024Mi } limits: { cpu: 1000m, memory: 1024Mi }上游并发阈值global.defaultUpstreamConcurrencyThreshold限制单个网关到某个上游服务的最大并发连接数防止一个热门服务把连接资源全部耗尽。global: defaultUpstreamConcurrencyThreshold: 10000下游连接与缓冲参数downstreamidleTimeout控制空闲连接保活多久connectionBufferLimits控制单条连接的缓冲大小调小缓冲是最直接省内存的手段。downstream: idleTimeout: 180 connectionBufferLimits: 32768自动扩缩容gateway.autoscaling开启HPA后按CPU利用率自动增减副本HPA模板 会据此渲染HorizontalPodAutoscaler低峰期不用为峰值流量买单。gateway: autoscaling: enabled: true minReplicas: 1 maxReplicas: 5 targetCPUUtilizationPercentage: 80整体资源流向可以参考这张架构图Gateway侧的Envoy才是真正吃内存的组件三、调优实操从压测到上线的完整走一遍先压测拿基线。用默认配置部署后做一次压力测试记下三个数最大可持续QPS、Pod内存峰值、CPU利用率。后续所有改动都以这组数据做对照没有基线的优化只是拍脑袋。再逐项调参。一次只改一个参数比如先降内存limit确认压测结果无回退再动并发阈值。调的过程中盯住监控面板里的CPU和Memory两条曲线资源是否下降、业务是否受影响一目了然。最后开自动扩缩。参数稳定后打开HPA把minReplicas设成能容忍单副本故障的最低值峰值自动扩容、低峰自动缩容比手动固定副本数更省。项目优化前优化后变化幅度网关CPU请求2000m1000m-50%网关内存限制2048Mi1024Mi-50%网关副本数42-50%控制器CPU上限1000m500m-50%这几个数字的共同点是都有压测基线托底所以敢一步步往下砍QPS也没有回退。四、容易踩的坑只限CPU不限内存CPU申请降了但内存limit还挂在高位Pod照样占着节点的物理内存。正确做法是requests和limits的CPU、内存四个值成对设置。副本数盲目减半副本是容错余量不看流量直接砍半滚动升级时会把所有压力打到单副本上。正确做法是保留minReplicas不低于2或者交给HPA去动态管理。忽略流式场景的内存峰值SSE这类流式响应单条请求占内存很小但并发一高连接缓冲总量很容易被低估。正确做法是AI流式业务上线前专门做一次高并发压测再定connectionBufferLimits。五、下一步可以做什么接入监控网关Pod注解里已默认开启Prometheus采集接到集群的Grafana后重点看CPU与内存两条曲线。设置告警阈值对内存持续超过limit的80%这类指标配告警这通常比OOM更早暴露问题。评估插件开销挂载的Wasm插件越多内存占用越高把用不到的插件清理掉也是实打实的资源优化。等参数全部落位后让监控面板再跑一周确认曲线平稳这轮资源优化才算真正落袋。【免费下载链接】higress AI Gateway | AI Native API Gateway项目地址: https://gitcode.com/GitHub_Trending/hi/higress创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表