问:为什么PTS的采样日志上有大量的503,但是后端服务器上确没有相关信息?
答:如果压测的接口错误中有很多 503,同时满足以下的现象:
-
接口是 HTTPS
-
暴露在公网的是 SLB
- 后端服务并没有抛出 503,甚至没有任何记录
-
503 报错信息与下面内容相同:
-
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body bgcolor="white">
<h1>503 Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.</body>
</html>
-
那么,说明该报错是 SLB 抛出的。因为压测场景中发起压力的源 IP 有限,单IP触发了 SLB 集群的单 Proxy 限流。
解决办法:
-
升级 PTS 资源包。PTS 9.9 元资源包由于成本原因只有一个发起源 IP,只要是 628 及以上资源包即可享有最大 70个及以上 源IP。
-
使用 IP 扩展功能。
-
设置更高的目标并发或者 RPS。
PS:2和3都受限于资源包可用的最高公网IP数(独享施压节点),比如278的资源包只有22个。
https://help.aliyun.com/knowledge_detail/102765.html?spm=5176.2000002.0.0.1f9641e8ymfAas