全部产品
云市场

为什么PTS的采样日志上有大量的503,但是后端服务器上确没有相关信息?

更新时间:2019-10-15 20:45:11

问题描述

PTS的采样日志上有大量的 503,但是后端服务器上确没有相关信息。

原因分析

如果压测的接口错误中有很多 503,同时满足以下的现象:

  • 接口是 HTTPS

  • 暴露在公网的是 SLB

  • 后端服务并没有抛出 503,甚至没有任何记录
  • 503 报错信息与下面内容相同:

    1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    2. <html>
    3. <head><title>503 Service Temporarily Unavailable</title></head>
    4. <body bgcolor="white">
    5. <h1>503 Service Temporarily Unavailable</h1>
    6. <p>The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.</body>
    7. </html>

    slb的503报错

    那么,说明该报错是 SLB 抛出的。因为压测场景中发起压力的源 IP 有限,单IP触发了 SLB 集群的单 Proxy 限流。

解决方法

  1. 升级 PTS 资源包。PTS 9.9 元资源包由于成本原因只有一个发起源 IP,只要是 628 及以上资源包即可享有最大 70个及以上 源IP。

  2. 使用 IP 扩展功能

  3. 设置更高的目标并发或者 RPS。

说明:2 和 3 都受限于资源包可用的最高公网 IP 数(独享施压节点),比如 278 的资源包只有 22 个。