调用DescribeDBInstancePerformance接口报400或503错误
更新时间:
问题描述
调用RDS的DescribeDBInstancePerformance接口报错。错误信息如下:
HTTP Status: 400
Error: Throttling Request was denied due to request throttling.
RequestID: CC2753EE-6087-49C8-BCEF-A28643C3E41A
HTTP Status: 503
Error: ServiceUnavailable The request has failed due to a temporary failure of the server.
RequestID: CFDA741B-48DF-4005-9AF5-B4007A190071
问题原因
DescribeDBInstancePerformance接口默认限制同一个用户每分钟最多调用400次,超过该次数就会被限流,导致出现上面的错误。
解决方案
您可以调整该接口的限流策略,防止再次出现该情况。
操作步骤
本步骤以企业版3.16为例进行演示,其他版本大同小异。
- 登录服务角色为OpenApi#的redline-perf实例终端。
- 登录天基系统。
- 在页面左侧导航栏中,单击工具 > 运维工具 > 机器运维工具。
- 单击页面左上角的服务页签,单击redline-perf服务。您可以在搜索框中输入redline-perf关键词以快速查找。
- 在页面左下方的服务实例区域中,找到前缀为
RedlinePerf
的服务实例,单击其右侧的 > Dashboard。 - 在服务角色列表区域中,单击OpenApi#服务角色右侧操作列的详情。
- 在机器信息区域中,单击目标机器右侧操作列的终端,并在跳转后的TerminalService页面左侧单击机器名称,即可进入实例的终端页面。您需要依次登录机器信息区域中所有的主机终端,执行下述操作。
- 进入redline-perf.openApi的Docker。
- 在终端中输入
docker ps
命令,查找前缀为redline-perf.openApi的Docker。 - 记录该Docker的CONTAINER ID,即该Docker的容器ID。
- 在终端中输入
docker exec -it <上一步获取的容器ID> /bin/bash
命令登录Docker。
- 在终端中输入
- 修改DescribeDBInstancePerformance.xml文件增加触发限流的访问次数。
- 在终端中输入
vi /home/admin/dll-service-aliyun-com/batch/apis/DescribeDBInstancePerformance.xml
打开接口的xml文件,按i
键开启编辑模式。 - 在文件最下面找到
FlowControl
字段,修改该字段的userDefault值为5000
,apiDefault值为600000
,按ESC键,输入:wq
保存并退出。
- 在终端中输入
- 应用变更。
-
- 在终端中输入
cd batch
进入batch目录。 - 在终端中输入
/opt/taobao/install/ajdk_8.10.15_fp10/bin/java -jar /home/admin/dll-service-aliyun-com/batch/batch.jar
命令,屏幕中出现batch exe success即代表变更成功。
- 在终端中输入
适用于
- 版本:专有云企业版
- 产品:RDS
文档内容是否对您有帮助?