将阿里云账号下的多个Bucket添加到同一个资源池后,您可以结合实际业务场景,精细化地调整Bucket及其请求者的流控配置。
前提条件
当前资源池QoS为邀测功能。您在某个地域的OSS性能达到500Gbps及以上,请联系技术支持申请使用。
已安装ossutil 2.0。
配置示例
示例 | 说明 |
限制多个RAM用户访问资源池的带宽 | 多个请求者(以RAM用户身份)同时访问同一个OSS资源池中的不同Bucket时,您可以通过限制不同RAM用户的带宽上限,避免某个RAM用户过度占用资源池的带宽。 |
限制RAM用户访问Bucket的带宽 | 不同业务共享OSS资源池中的同一个Bucket时,您可以通过限制指定RAM用户访问某个Bucket的带宽,避免该RAM用户过度占用该Bucket的带宽。 |
限制Bucket的总带宽 | 不同业务访问OSS资源池中的不同Bucket时,您可以通过限制某个Bucket的带宽上限,避免因单一Bucket的高流量操作抢占其他Bucket的带宽资源。 |
限制Bucket的公网带宽 | 通过公网访问、预览或者下载存储在OSS资源池的某个Bucket的文件时,会产生下行流量费用。通过限制该Bucket的公网下载带宽,避免高并发访问导致的高额流量费用支出。 |
限制多个云服务访问Bucket的带宽 | 应用程序或服务通常以RAM角色实现跨服务访问OSS,通过限制RAM角色访问资源池内指定Bucket的带宽上限,避免某个RAM角色占用过多带宽影响其他服务。 |
限制BucketGroup(包含多个低优先级Bucket)的总带宽 | 同一资源池内,通过将大量低优先级Bucket加入BucketGroup,并限制BucketGroup总带宽的方式,确保剩余的少量高优先级Bucket在进行内部或外部数据通信时都能获得充足的带宽支持,保障其服务质量和响应速度。 |
限制BucketGroup(包含多个低优先级Bucket)的公网带宽 | 同一资源池内,通过将大量低优先级Bucket加入BucketGroup,并限制BucketGroup总带宽的方式,确保剩余的少量高优先级Bucket即使在网络负载高峰期,也能获得充足的公网带宽。 |
限制多个RAM用户访问资源池的带宽
以下示例用于限制2个RAM用户访问资源池的带宽:
为RAM用户A设置访问资源池的带宽上限。
通过本地XML配置文件(qos.xml)为RAM用户A配置访问资源池的带宽上限。
总上传带宽为100Gbps。其中,内网上传带宽为50Gbps,外网上传带宽为50Gbps。
总下载带宽为200Gbps。其中,内网下载带宽为150Gbps,外网下载带宽为50Gbps。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>50</IntranetUploadBandwidth> <ExtranetUploadBandwidth>50</ExtranetUploadBandwidth> <TotalDownloadBandwidth>200</TotalDownloadBandwidth> <IntranetDownloadBandwidth>150</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>50</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为RAM用户A(UID为266xxxx)添加以上带宽配置。
ossutil api invoke-operation --op-name put-resource-pool-requester-qos-info --method PUT --parameters resourcePool=examplepool --parameters qosRequester=266xxxx --parameters requesterQosInfo --body=file://qos.xml
为RAM用户B设置访问资源池的带宽上限。
通过本地XML配置文件(qos.xml)为RAM用户B配置访问资源池的带宽上限。
总上传带宽为50Gbps。其中,内网上传带宽为30Gbps,外网上传带宽为20Gbps。
总下载带宽为50Gbps。其中,内网下载带宽为30Gbps,外网下载带宽为20Gbps。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>50</TotalUploadBandwidth> <IntranetUploadBandwidth>30</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>50</TotalDownloadBandwidth> <IntranetDownloadBandwidth>30</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为RAM用户B(UID为242xxxx)添加以上带宽配置。
ossutil api invoke-operation --op-name put-resource-pool-requester-qos-info --method PUT --parameters resourcePool=examplepool --parameters qosRequester=242xxxx --parameters requesterQosInfo --body=file://qos.xml
(可选)列举资源池所有RAM用户的带宽配置。
ossutil api invoke-operation --op-name list-resource-pool-requester-qos-infos --method GET --parameters resourcePool=examplePool --parameters requesterQosInfo
关于如何查看RAM用户的UID,请参见查看RAM用户信息。
限制RAM用户访问Bucket的带宽
以下示例用于限制RAM用户访问资源池内某个Bucket的带宽:
通过本地XML配置文件(qos.xml)配置指定RAM用户访问资源池内某个Bucket的带宽上限。
总上传带宽为100Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为100Gbps。其中,内网和外网下载带宽不限制。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为指定Bucket(示例值为examplebucket)的请求者(UID为266xxxx)添加以上带宽配置。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=266xxxx --body file://qos.xml
(可选)获取该RAM用户访问资源池内某个Bucket的带宽配置。
ossutil api invoke-operation --op-name get-bucket-requester-qos-info --method GET --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=266xxxx
限制Bucket的总带宽
以下示例用户限制资源池内指定Bucket的总带宽:
通过本地XML配置文件(qos.xml)配置资源池内指定Bucket的带宽上限。
总上传带宽为100Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为200Gbps。其中,内网和外网下载带宽不限制。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>200</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
为指定Bucket(示例值为examplebucket)添加以上带宽配置。
ossutil api invoke-operation --op-name put-bucket-qos-info --method PUT --bucket examplebucket --parameters qosInfo --body=file://qos.xml
(可选)获取该Bucket的总带宽配置。
ossutil api invoke-operation --op-name get-bucket-qos-info --method GET --bucket examplebucket --parameters qosInfo
限制Bucket的公网带宽
以下示例用于限制资源池内指定Bucket的公网带宽:
通过本地XML配置文件(qos.xml)配置指定Bucket的公网带宽上限。
总上传带宽为100Gbps。其中,内网上传带宽不限制,外网上传带宽限制为20Gbps
总下载带宽为100Gbps。其中,内网下载带宽不限制,外网下载带宽限制为20Gbps。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> </QoSConfiguration>
为指定Bucket(示例值为examplebucket)添加以上带宽配置。
ossutil api invoke-operation --op-name put-bucket-qos-info --method PUT --bucket examplebucket --parameters qosInfo --body=file://qos.xml
(可选)获取该Bucket的公网带宽配置。
ossutil api invoke-operation --op-name get-bucket-qos-info --method GET --bucket examplebucket --parameters qosInfo
限制多个云服务访问Bucket的带宽
以下示例用于限制CDN以及CPFS服务访问资源池内指定Bucket的带宽:
限制CDN回源私有Bucket场景下的RAM角色带宽
您通过资源池的某个Bucket存放了静态资源,并使用CDN加速分发静态资源。为确保CDN可以从您的私有Bucket中正确获取所需的静态文件,需要开启私有Bucket回源功能。启用该功能后,CDN会通过
AliyunCDNAccessingPrivateOSSRole
这一角色去访问私有Bucket内的资源。通过本地XML配置文件(qos.xml)配置该角色访问指定Bucket的带宽上限。
总上传带宽为20Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为40Gbps。其中,内网和外网下载带宽不限制。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>20</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>40</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为该角色(角色ID为362xxxx)添加访问指定Bucket(示例值为examplebucket)带宽配置。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=362xxxx --body file://qos.xml
限制CPFS访问OSS场景下的RAM角色带宽
在高性能计算和AI训练场景中,需要频繁从OSS Bucket读取和写入大量的训练数据。为提升数据读写效率,您可以通过CPFS创建数据流动任务,快速将OSS中的数据加载到CPFS。数据加载过程中,CPFS会通过
AliyunServiceRoleForNasOssDataFlow
这一角色来查询和读写OSS中指定Bucket的数据。通过本地XML配置文件(qos.xml)配置该角色访问指定Bucket的带宽上限。
总上传带宽为30Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为50Gbps。其中,内网和外网下载带宽不限制。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>30</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>50</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为该角色(角色ID为300xxxx)添加访问指定Bucket(示例值为examplebucket)带宽配置。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=300xxxx --body file://qos.xml
(可选)列举资源池所有RAM角色的带宽配置。
ossutil api invoke-operation --op-name list-resource-pool-requester-qos-infos --method GET --parameters resourcePool=examplePool --parameters requesterQosInfo
关于如何查看RAM角色ID的具体操作,请参见查看RAM角色。
限制BucketGroup(包含多个低优先级Bucket)的总带宽
假设同一资源池中包含三个Bucket:online
、offline-01
和 offline-02
。其中,online
用于在线业务,需要优先保障其带宽使用。而offline-01
和 offline-02
分别服务于两个离线任务。为确保离线任务不对在线业务造成影响,可以将 offline-01
和 offline-02
加入同一个BucketGroup,并通过限制该BucketGroup的总带宽,实现对离线任务的带宽管控,避免其干扰在线业务的正常运行。
通过本地XML配置文件(qos.xml)配置资源池内指定BucketGroup的带宽上限。
总上传带宽为50Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为100Gbps。其中,内网和外网下载带宽不限制。
<QoSConfiguration> <TotalUploadBandwidth>50</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
将
offline-01
和offline-02
两个Bucket加入BucketGroup。将
offline-01
加入BucketGroup。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket offline-01 --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=offline-group
将
offline-02
加入BucketGroup。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket offline-02 --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=offline-group
(可选)获取BucketGroup中添加的Bucket列表。
ossutil api invoke-operation --op-name list-resource-pool-bucket-groups --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup
为BucketGroup配置带宽阈值。
ossutil api invoke-operation --op-name put-resource-pool-bucket-group-qos-info --method PUT --parameters resourcePoolBucketGroupQosInfo --parameters resourcePool pool-for-ai --parameters resourcePoolBucketGroup offline-group --body=file://qos.xml
(可选)获取BucketGroup的带宽配置。
ossutil api invoke-operation --op-name get-resource-pool-bucket-group-qos-info --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=offline-group --parameters resourcePoolBucketGroupQoSInfo
限制BucketGroup(包含多个低优先级Bucket)的公网带宽
假设同一资源池中存在三个Bucket:realtime-chat
、scheduled-posts
和 archived-comments
。其中,realtime-chat
用于实时性要求高的在线业务,而 scheduled-posts
和 archived-comments
。其业务优先级相对较低。为避免低优先级Bucket影响高优先级业务Bucket的公网带宽使用,可以将 scheduled-posts
和 archived-comments
加入同一个BucketGroup,并限制BucketGroup的总公网带宽,确保 realtime-chat
的公网带宽需求得到优先满足,保障在线业务的流畅运行。
通过本地XML配置文件(qos.xml)配置资源池内指定BucketGroup的带宽上限。
总上传带宽为50Gbps。其中,公网上传带宽为20Gbps,内网上传带宽不限制。
总下载带宽为100Gbps。其中,公网下载带宽为20Gbps,内网下载带宽不限制。
<QoSConfiguration> <TotalUploadBandwidth>50</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> </QoSConfiguration>
将
scheduled-posts
和archived-comments
两个Bucket加入BucketGroup。将
scheduled-posts
加入BucketGroup。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket scheduled-posts --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=test-group
将
archived-comments
加入BucketGroup。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket archived-comments --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=test-group
(可选)获取BucketGroup中添加的Bucket列表。
ossutil api invoke-operation --op-name list-resource-pool-bucket-groups --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup
为BucketGroup配置带宽阈值。
ossutil api invoke-operation --op-name put-resource-pool-bucket-group-qos-info --method PUT --parameters resourcePoolBucketGroupQosInfo --parameters resourcePool pool-for-ai --parameters resourcePoolBucketGroup test-group --body=file://qos.xml
(可选)获取BucketGroup的带宽配置。
ossutil api invoke-operation --op-name get-resource-pool-bucket-group-qos-info --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=test-group --parameters resourcePoolBucketGroupQoSInfo
相关文档
通过以上示例配置资源池、资源池与请求者、资源池与Bucket的各项带宽阈值后,您可以通过云监控查看资源池各个维度的带宽阈值以及带宽使用情况。更多信息,请参见使用监控服务。