QoS流控使用示例
如何定位和解决流控问题
问题现象:
- 现象一:CES看板中,QPS、带宽、并发请求数的使用率指标大于等于100%,或触发CES相关告警。
- 现象二:请求失败,返回429。
- 现象三:请求时延上升,请求响应中会携带头域x-obs-qos-delay-time。
问题原因:
- 现象一、二原因:
- 桶指标达到阈值:桶的并发请求数,超过了桶预设的阈值。
- 集群资源耗尽:桶所在集群的并发请求数,超过了账号在该集群的阈值。
- 现象一、三原因:
- 桶指标达到阈值:桶的QPS或带宽,超过了桶预设的阈值。
- 集群资源耗尽:桶所在集群的QPS或带宽,超过了账号在该集群的阈值。
排查方法:
- 排查集群资源是否耗尽。
参考使用CES监控某个集群的账号级QoS查看集群QPS、带宽、并发请求数的使用率指标。
- 如果1中查看的使用率指标达到100%,说明集群资源耗尽,请调低客户端业务的QPS、带宽、并发请求数。如果没有达到100%,请执行3。
- 排查桶指标是否达到阈值。
参考使用云监控CES动态监控桶指标(桶维度)查看桶QPS、带宽、并发请求数的使用率指标。
- 如果3中查看的使用率指标达到100%,说明桶指标达到阈值,此时有两种解决方法:
- 调高桶的QoS配置。如何调整请参考设置和查看桶QoS。
- 调低客户端业务的QPS、带宽、并发请求数。
QoS配置参考案例
以下配置案例仅供参考,最终配置值请根据业务实际情况进行充分评估后谨慎配置。
案例一:存量业务场景首次设置桶QoS
对于已在华为云上运行了一段时间的历史存量业务,如果之前没有配置过QoS,现在要给业务桶配置QoS,可参考以下步骤:
- 查看桶的历史监控指标。
- 进入云服务监控>对象存储服务 OBS页面,资源维度选择“桶名称”。在“实例列表”单击与存量业务相关的桶,进入“云服务监控详情”页。
- 查看表1中的指标值。
表1 历史监控指标 指标ID
指标名称
指标含义
单位
监控周期(原始指标)
request_count_per_second
总TPS
当前统计周期内平均每秒请求数。
Count/s
1分钟
request_count_get_per_second
GET类请求TPS
当前统计周期内所有GET类平均每秒请求数。
Count/s
1分钟
request_count_put_per_second
PUT类请求TPS
当前统计周期内所有PUT类平均每秒请求数。
Count/s
1分钟
request_count_delete_per_second
DELETE类请求TPS
当前统计周期内所有DELETE类平均每秒请求数。
Count/s
1分钟
request_count_post_per_second
POST类请求TPS
当前统计周期内所有POST类平均每秒请求数。
count/s
1分钟
request_count_head_per_second
HEAD类请求TPS
当前统计周期内所有HEAD类平均每秒请求数。
count/s
1分钟
api_request_count_per_second
接口请求TPS
该指标用于统计当前租户所有桶及桶中对象的特定接口的请求,在一个统计周期内每秒请求数的平均值。支持的接口类型见请求接口。
Count/s
1分钟
download_bytes
总下载带宽
该指标用于统计周期内平均每秒下载对象大小总和。
byte/s
1分钟
download_bytes_extranet
外网下载带宽
该指标用于统计周期内平均每秒公网下载对象大小总和。
byte/s
1分钟
download_bytes_intranet
内网下载带宽
该指标用于统计周期内平均每秒内网下载对象大小总和。
byte/s
1分钟
upload_bytes
总上传带宽
该指标用于统计周期内平均每秒上传对象大小总和。
byte/s
1分钟
upload_bytes_extranet
公网上传带宽
该指标用于统计周期内平均每秒公网上传对象大小总和。
byte/s
1分钟
upload_bytes_intranet
内网上传带宽
该指标用于统计周期内平均每秒内网上传对象大小总和。
byte/s
1分钟
- 参考表1中指标的历史值,然后以历史值中的最大值为基准上浮20%,设置为桶Qos。
例如历史的总下载带宽(download_bytes)最大值为10GB/s,那么桶的读带宽的QoS(bucket_total_BpsLimit_Get_max)可设置为12GB/s。
案例二:迁移场景设置桶QoS
对于之前运行在其他云厂商上,现在要往华为云迁移的业务,请查看业务在原有平台上的资源使用情况,然后根据历史数据设置业务相关桶的桶QoS值。