You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排查IIS中偶发的502.3错误(错误码12030、12152)

排查步骤

1. 检查httpPlatformHandler进程托管配置

  • 核对web.config中httpPlatform的核心参数,适配并发场景:
    • startupTimeLimit:默认30秒,若Uvicorn启动较慢,调至60秒避免启动超时
    • requestTimeout:默认2分钟,若接口处理耗时久,延长至5分钟左右,防止请求中途断开
    • processesPerApplication:默认1,单进程Uvicorn并发能力有限,建议设置为CPU核心数对应的数值(如4),让IIS托管多进程分摊请求
  • 示例配置片段:
    <httpPlatform processPath="C:\Python39\python.exe"
                  arguments="-m uvicorn main:app --host 127.0.0.1 --port %HTTP_PLATFORM_PORT%"
                  stdoutLogEnabled="true"
                  stdoutLogFile=".\logs\uvicorn.log"
                  startupTimeLimit="60"
                  requestTimeout="00:05:00"
                  processesPerApplication="4" />
    

2. 优化Uvicorn并发配置

  • Uvicorn默认工作线程数为1,启动时通过--workers参数设置为CPU核心数*2(如--workers 4),提升并发处理能力
  • 查看httpPlatform配置的stdoutLogFile路径下的Uvicorn日志,排查是否有进程崩溃、连接中断(如ConnectionResetError)或响应发送异常的记录
  • 若启用SSL,确认Uvicorn的SSL协议版本、证书配置与IIS一致,避免协议不兼容触发12030错误

3. 调整IIS连接与队列参数

  • 打开IIS管理器,进入应用程序池高级设置:
    • 增大队列长度(默认1000)至2000-3000,避免请求排队溢出
    • 设置最大工作进程数与httpPlatform的processesPerApplication匹配,确保进程数足够承载并发
  • 进入网站高级设置,将最大连接数设为0(无限制)或足够大的数值
  • 临时禁用应用程序池的快速失败保护(或调高标准),防止Uvicorn偶发崩溃导致IIS终止后续请求

4. 深挖FRT日志细节

  • 聚焦MODULE_SET_RESPONSE_ERROR_STATUS事件的完整信息:
    • 查看ErrorCode子错误码、Notification阶段(如SEND_RESPONSE),定位错误发生的请求阶段
    • 通过请求ID、URL关联Uvicorn日志,核对该请求的处理过程是否异常
    • 确认是否存在httpPlatformHandler与Uvicorn进程连接失败、读取响应超时/中断的细节

5. 验证本地网络与端口稳定性

  • 用tcpview工具监控127.0.0.1上Uvicorn监听端口的连接状态,若存在大量TIME_WAIT/CLOSE_WAIT连接,调整Windows TCP参数:
    • 修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:
      • 设置TcpTimedWaitDelay为30,缩短TIME_WAIT连接回收时间
      • 设置MaxUserPort为65534,扩大可用端口范围
  • 确保httpPlatformHandler通过127.0.0.1而非localhost连接Uvicorn,规避DNS解析或IPv6/IPv4兼容问题

6. 隔离测试Uvicorn服务

  • 绕过IIS,直接用k6测试Uvicorn原生服务(访问127.0.0.1:端口):
    • 若直接测试仍出现错误,说明问题在Uvicorn/FastAPI代码或配置,需排查线程不安全逻辑、资源泄漏(如数据库连接未释放)
    • 若直接测试正常,问题则出在IIS与httpPlatformHandler的交互,需重点调整两者的配置匹配度

内容的提问来源于stack exchange,提问作者jscodes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 12:15:31