Azure Load Balancer后端API报No such know host响应慢问题咨询
Azure Load Balancer 相关问题解答
关于Azure Load Balancer的使用限制(含事务处理量上限)
- Azure Load Balancer 作为四层软件定义负载均衡,没有设置固定的事务处理量硬上限,可支撑单实例数百万级并发连接,实际吞吐能力上限取决于后端实例规格、虚拟网络带宽、配套网络资源配置。
- 实际使用中存在以下明确约束,容易被误判为事务量上限:
- 资源配额限制:单个负载均衡实例的前端IP数量、后端池规模、规则条数默认有配额阈值,可直接在Azure门户提交配额提升申请调整,没有固定不可突破的上限
- SNAT端口限制:出站连接、做源网络地址转换时,每个后端实例默认分配的SNAT端口数量有限,短时间内大量短连接未正常释放会触发SNAT端口耗尽,导致新连接无法建立,这是负载均衡场景下最高发的性能瓶颈
- 帧大小限制:默认支持1500字节的MTU,开启巨型帧场景下最大支持64000字节,不支持跨虚拟网络、跨租户挂载后端资源
- 能力边界限制:作为四层负载,它无法识别HTTP/HTTPS层的路由、重写、鉴权等应用层逻辑,相关需求需要搭配七层负载产品实现
经负载均衡访问API报No such know host、响应慢的可能原因
你遇到的No such know host为常见拼写误差,实际是No such known host,属于DNS解析失败类报错,结合直连后端API响应正常的特征,常见诱因按概率排序如下:
- DNS配置异常
- 负载均衡前端绑定的域名DNS TTL设置过短,Xamarin App运行在移动端,经常切换WiFi/蜂窝网络,本地DNS缓存失效频繁,若配置的DNS服务器响应不稳定、解析超时,就会随机抛出主机不存在的错误;直连场景下如果直接访问后端IP、或者使用解析链路更稳定的域名,就不会触发该问题
- 如果你使用的是内部负载均衡(ILB),Xamarin App所在的网络没有打通对应虚拟网络的DNS解析链路,无法解析ILB的内部域名,也会频繁触发该报错
- SNAT端口耗尽
- 客户端调用API时如果没有开启长连接(keep-alive),每次请求都会新建TCP连接,经过负载均衡时会快速消耗SNAT端口资源。端口不足时新连接会排队等待空闲端口,直接表现为响应变慢,部分连接超时失败时,Xamarin的网络框架会直接抛出目标主机不可达/不存在的错误。直连后端时不经过负载均衡的SNAT环节,没有端口消耗瓶颈,因此响应速度正常
- 健康探测配置不合理
- 负载均衡配置的健康探测间隔过长、不健康阈值设置过高,会导致故障的后端实例无法被及时从后端池剔除,请求被转发到故障实例时会出现超时、连接失败,多次失败后客户端会误判目标主机不存在
- 网络规则配置错误
- 负载均衡关联的网络安全组(NSG)存在优先级错误、额外的流量过滤规则,会增加流量处理延迟;如果负载均衡和后端实例部署在不同可用区,跨可用区流量转发也会带来额外的网络耗时
内容的提问来源于stack exchange,提问作者Luis Sandoval Monestel
相关产品推荐
相关产品推荐

