# QoS流控使用示例
#### 如何定位和解决流控问题
**问题现象：**
- 现象一：CES看板中，QPS、带宽、并发请求数的使用率指标大于等于100%，或触发CES相关告警。
- 现象二：请求失败，返回429。
- 现象三：请求时延上升，请求响应中会携带头域[x-obs-qos-delay-time](https://support.huaweicloud.com/api-obs/obs_04_0013.html)。
**问题原因：**
- 现象一、二原因：
  - 桶指标达到阈值：桶的**并发请求数**，超过了桶预设的阈值。
  
  - 集群资源耗尽：桶所在集群的并发请求数，超过了账号在该集群的阈值。
   

- 现象一、三原因：
  - 桶指标达到阈值：桶的**QPS或带宽**，超过了桶预设的阈值。
  
  - 集群资源耗尽：桶所在集群的QPS或带宽，超过了账号在该集群的阈值。
   
**排查方法：**
1. 排查集群资源是否耗尽。
   
   参考[使用CES监控某个集群的账号级QoS](https://support.huaweicloud.com/usermanual-obs/obs_03_10082.html#ZH-CN_TOPIC_0000002724152108__zh-cn_topic_0000002566698435_section19185512181620)查看**集群**QPS、带宽、并发请求数的使用率指标。
   
   
2. 如果[1]中查看的使用率指标达到100%，说明集群资源耗尽，请调低客户端业务的QPS、带宽、并发请求数。如果没有达到100%，请执行[3]。
3. 排查桶指标是否达到阈值。
   
   参考[使用云监控CES动态监控桶指标（桶维度）](https://support.huaweicloud.com/usermanual-obs/obs_03_10083.html#ZH-CN_TOPIC_0000002753591863__zh-cn_topic_0000002566858421_section109001347145010)查看**桶**QPS、带宽、并发请求数的使用率指标。
   
   
4. 如果[3]中查看的使用率指标达到100%，说明桶指标达到阈值，此时有两种解决方法：
   
   - 调高桶的QoS配置。如何调整请参考[设置和查看桶QoS](https://support.huaweicloud.com/usermanual-obs/obs_03_10083.html#ZH-CN_TOPIC_0000002753591863__zh-cn_topic_0000002566858421_section1425115403153)。
   
   - 调低客户端业务的QPS、带宽、并发请求数。
   
   
   
   
#### QoS配置参考案例
![](https://support.huaweicloud.com/usermanual-obs/public_sys-resources/caution_3.0-zh-cn.png)
以下配置案例仅供参考，最终配置值请根据业务实际情况进行充分评估后谨慎配置。
#### 案例一：存量业务场景首次设置桶QoS
对于已在华为云上运行了一段时间的历史存量业务，如果之前没有配置过QoS，现在要给业务桶配置QoS，可参考以下步骤：
1. **查看桶的历史监控指标。**
   
   1. 进入[云服务监控\>对象存储服务 OBS](https://console.huaweicloud.com/ces/?agencyId=nAkYsIAaV4GwsBpDC2bcGqGdgrWKzovR&locale=zh-cn#/dashboard/cloudDashboard/detailWithList?namespace=SYS.OBS)页面，资源维度选择"桶名称"。在"实例列表"单击与存量业务相关的桶，进入"云服务监控详情"页。
   
   2. 查看[表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       | 该指标用于统计当前租户所有桶及桶中对象的特定接口的请求，在一个统计周期内每秒请求数的平均值。支持的接口类型见[请求接口](https://support.huaweicloud.com/usermanual-obs/obs_03_0010.html#section4)。 | 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分钟        |
         
      
   
   
   
   
2. **参考[表1]中指标的历史值，然后以历史值中的最大值为基准上浮20%，设置为桶Qos。**
   
   例如历史的总下载带宽（download_bytes）最大值为10GB/s，那么桶的读带宽的QoS（bucket_total_BpsLimit_Get_max）可设置为12GB/s。
   
   
 
#### 案例二：迁移场景设置桶QoS
对于之前运行在其他云厂商上，现在要往华为云迁移的业务，请查看业务在原有平台上的资源使用情况，然后根据历史数据设置业务相关桶的桶QoS值。
