当前位置: 首页 > news >正文

CANN-昇腾NPU-推理服务限流-怎么防止雪崩

雪崩Snowball效应请求量突然增大 → NPU 利用率 100% → 新请求排队 → 排队超过超时时间 → 客户端重试 → 请求量更大。这篇讲在昇腾NPU推理服务上怎么限流防止雪崩。限流层级客户端 ↓ LB 层限流SLB/QPS 限制 ↓ 推理服务层限流并发数/排队时间 ↓ NPU 层限流显存/利用率三层都要有限流任何一层失效都会导致雪崩。LB 层限流# Nginx 限流配置 http { limit_req_zone $binary_remote_addr zoneapi:10m rate10r/s; server { location /generate { limit_req zoneapi burst20 nodelay; proxy_pass http://inference_backend; } } }rate10r/s每个 IP 每秒最多 10 个请求burst20允许突发 20 个请求排队nodelay突发请求不延迟立即处理或拒绝推理服务层限流策略 1并发数限流fromfastapiimportFastAPI,HTTPExceptionimportasyncio appFastAPI()semaphoreasyncio.Semaphore(32)# 最多 32 个并发请求app.post(/generate)asyncdefgenerate(prompt:str):ifsemaphore.locked():raiseHTTPException(status_code503,detailServer busy)asyncwithsemaphore:resultawaitmodel.generate(prompt)returnresult并发数 NPU 能同时处理的请求数。Atlas 800I A2 单卡约 32 个并发batch32。策略 2排队时间限流importtime request_queue[]app.post(/generate)asyncdefgenerate(prompt:str):request_idlen(request_queue)request_queue.append(time.time())# 排队超过 5 秒直接拒绝wait_timetime.time()-request_queue[request_id]ifwait_time5:raiseHTTPException(status_code503,detailQueue timeout)resultawaitmodel.generate(prompt)request_queue.pop(request_id)returnresult策略 3动态限流根据 NPU 利用率importtorch_npudefis_npu_overloaded():utiltorch_npu.npu.utilization(0)returnutil90# NPU 利用率 90% 时限流app.post(/generate)asyncdefgenerate(prompt:str):ifis_npu_overloaded():raiseHTTPException(status_code503,detailNPU overloaded)resultawaitmodel.generate(prompt)returnresultNPU 层限流策略 1KV Cache 余量检查defis_kv_cache_full():# 假设 KV Cache 最大 48GB已用 45GBreturnkv_cache_used45*1024*1024*1024app.post(/generate)asyncdefgenerate(prompt:str):ifis_kv_cache_full():raiseHTTPException(status_code503,detailKV Cache full)resultawaitmodel.generate(prompt)returnresult策略 2显存余量检查defis_memory_full():allocatedtorch_npu.memory_allocated(0)total64*1024*1024*1024# 64GBreturnallocated0.95*totalapp.post(/generate)asyncdefgenerate(prompt:str):ifis_memory_full():raiseHTTPException(status_code503,detailMemory full)resultawaitmodel.generate(prompt)returnresult优雅降级NPU 满载时降级到简化模型如 7B → 3Bmodels{full:LLM(llama2-7b,devicenpu:0),lite:LLM(llama2-3b,devicenpu:0),}defget_available_model():iftorch_npu.npu.utilization(0)80:returnmodels[lite]returnmodels[full]app.post(/generate)asyncdefgenerate(prompt:str):modelget_available_model()resultawaitmodel.generate(prompt)returnresult实战配置在线对话服务QPS100# Nginxlimit_req_zone:20r/s burst50# 推理服务max_concurrent:64# 2 张 NPU每张 32 并发max_queue_time:3s# 排队超过 3 秒拒绝kv_cache_threshold:90%# KV Cache 超过 90% 拒绝新请求# NPU 监控utilization_threshold:85%# 利用率 85% 触发告警memory_threshold:92%# 显存 92% 触发告警压测验证用wrk或locust压测# 100 并发持续 60 秒wrk-t10-c100-d60s http://localhost:8000/generate# 观察# - 99% 请求延迟 500ms# - 0% 请求超时# - NPU 利用率稳定在 80-90%不雪崩限流是推理服务的保险丝。LB 层限制单个 IP服务层限制并发数和排队时间NPU 层限制显存和 KV Cache。三层联动才能防止雪崩。仓库在这里https://atomgit.com/cann/ATB
http://www.zskr.cn/news/1362250.html

相关文章:

  • 保姆级教程:在Ubuntu 22.04上为Gem5交叉编译SPEC2006(aarch64版)
  • Unity项目适配华为快应用rpk包的完整落地指南
  • 河北亮泽管道设备有限公司:2026年至今河北弹簧支吊架领域的优选实力服务商 - 2026年企业推荐榜
  • 解锁 Codex 逆向能力!一键部署 JS 逆向全能 Skill
  • AI Agent在政务审批系统中的零故障部署实践(工信部试点项目全链路复盘)
  • Super IO Blender插件:终极批量导入导出指南,工作效率提升300%
  • 2026年AI大模型接口中转站全网实测推荐:五大主流平台硬核数据对比全选型指南
  • 全方位强化 AI 逆向能力,这款 Skill 太实用了
  • AI Agent如何重构数据分析工作流:从数据清洗到洞察生成的7步自动化闭环(附企业级架构图)
  • 照亮虚拟世界:神经渲染中的神经光照技术全解析
  • 联邦学习中的‘物以类聚’:手把手教你用Python实现客户端自动聚类,提升个性化模型效果
  • 网络分析+LLM:破解AI医疗研究转化瓶颈的系统工程实践
  • 别再乱格式化!一文搞懂NTFS、exFAT等磁盘格式区别与DiskGenius格式化实操
  • 语义优先架构:从VLM实验看90%功能漂移与具身AI新范式
  • 龙芯电脑装系统,选UOS、Loongnix还是等Debian?给3A4000/3A5000用户的保姆级选择指南
  • Rufus制作Linux启动盘翻车实录:分区方案选错、U盘变砖怎么救?
  • 信创运维实战:用PXE批量部署银河麒麟V10桌面版,我踩过的坑都帮你填平了
  • 神经渲染革命:一文读懂可微分渲染的核心原理与产业未来
  • Docker部署YOLOv8训练+推理完整教程(含报错解决)
  • 【Markdown零基础使用教程】
  • 2026年乌鲁木齐先装后付装修公司top5实践经验案例分享
  • CANN 昇腾 FP16 vs FP32 精度博弈:深度学习数值精度实战指南
  • llm-compressor添加新量化策略 -- 邪修方法
  • CANN 昇腾训练食谱全景解读:cann-recipes-train 架构与使用指南
  • 2026系统运维培训机构点评榜|真机实战、就业兜底怎么选?资深运维一次讲透
  • 置信预测中APS与RAPS的覆盖差距:效率与可靠性的权衡
  • 2026南京娱乐许可证办理优质服务商推荐:南京农药兽药许可证办理/南京出版物许可证办理/南京危化品许可证办理/南京增值电信许可证办理/选择指南 - 优质品牌商家
  • 在Ubuntu 20.04上从源码编译Asterisk 18:保姆级避坑指南(解决pjproject、jansson依赖问题)
  • 鸿蒙electron跨端框架PC课业板实战:课程、截止时间、提交物和风险都放到桌面上
  • Cortex-R MPU配置与推测访问风险防范