为什么SLB QPS没有达到上限却响应503状态码?

简介:

很多用户使用SLB 7层监听的时候发现请求没有到达后端,SLB直接响应了503状态码。

什么是503状态码?

503状态码的定义可以参考rfc7231,如下图所示翻译过来就是503意味着服务器过载导致无法响应请求,在SLB上就相当于已经达到了SLB的规格上限,导致SLB无法继续处理请求所以直接响应503状态码给客户端。
123

为何控制台看QPS远没达到规格上限却也返回503?

SLB性能保障型规格,这里以slb.s1.small 规格举例,此规格的qps是1000,但是使用的时候SLB控制台的qps明明没到1000为何也会有503呢?
因为SLB的监控数据的最小单位是1分钟,也就是1分钟才会统计一个数据点,所以控制台显示的qps其实是1分钟内的平均值,是1分钟内的所有请求除以60秒计算出来的,这跟真实qps是有所差别的,因为这样计算的话会有削峰填谷的效果,比如真实业务里面1分钟内某几秒的请求量特别大,其他时间请求量比较小,一平均之后qps就会看上去没有多大,但是slb是根据秒级的qps限制的,所以如果几秒钟超过qps上限那就会出现503状态码。

下面通过一个简单的测试进一步描述下控制台显示qps的逻辑。
通过AB压测5000请求并发5,通过下图可以看到281,这里的qps计算方法是:总的请求5000/总请求时间17.785秒=281 QPS
1234
在控制台查看此时qps只与79,控制台计算方法是:5000请求/60秒 =83 跟下列图标是比较接近的。
123

如何判断秒级qps超过规格?

那如果是SLB返回了503状态码,怎么确定秒级qps呢。 可以开通SLB 7层访问日志。开通以后如下图所示35分0秒到35分59秒一共是5000个请求,在18秒到19秒之间的1秒内的请求qps达到了 734QPS,所以秒级qps跟控制台看到的79 qps 是相差比较大的。
12

真实业务场景也是非常类似的,有些业务某几秒的请求量会特别大,导致触发了秒级的qps上限从而响应503,这种情况就需要提升SLB规格来避免这种情况。

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
16天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
32 0
|
3月前
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
34 0
|
3月前
|
负载均衡 安全 前端开发
百度搜索:蓝易云【Nginx与Tomcat负载均衡-动静分离教程】
这些是将Nginx与Tomcat结合使用实现负载均衡和动静分离的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
49 1
|
4月前
|
负载均衡 前端开发 应用服务中间件
Nginx中的负载均衡有哪几种方式?
Nginx中的负载均衡有哪几种方式?
57 0
|
6天前
|
负载均衡 应用服务中间件 nginx
Nginx 负载均衡
Nginx 负载均衡
21 2
|
4月前
|
负载均衡 算法 应用服务中间件
这些负载均衡都解决哪些问题?服务、网关、NGINX?
这些负载均衡都解决哪些问题?服务、网关、NGINX?
106 1
|
2月前
|
负载均衡 Java 应用服务中间件
|
2月前
|
负载均衡 监控 应用服务中间件
Nginx负载均衡:你的网站流量翻倍利器
Nginx负载均衡:你的网站流量翻倍利器
43 0
|
2月前
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
63 0
|
3月前
|
缓存 负载均衡 算法
【Nginx】Nginx 负载均衡
【1月更文挑战第25天】【Nginx】Nginx 负载均衡