文档

OSS加速器成本优化最佳实践

更新时间:

开启OSS加速器后,您可以将需要重复读取的数据缓存在加速器中。当向OSS加速器请求数据时,加速器根据空间大小提供1.6 Gbps/TB(即200 MBps/TB)的带宽,以满足下载时对带宽的需求。本文介绍如何在使用OSS加速器时,根据业务需求降低使用成本。

背景

假设您的业务场景中存在日常任务、分析任务以及仿真任务三种任务类型,每种任务需要的带宽以及任务启动时间存在差异。任务带宽以及启动时间说明如下:

带宽使用

18:00

19:00

20:00

固定带宽(Gbps)

100

100

100

弹性带宽(Gbps)

80

40

90

日常任务(Gbps)

40

20

40

分析任务(Gbps)

40

20

40

仿真任务(Gbps)

0

0

10

为简化费用计算过程,以下费用均以20 元/Gbps/小时为例。

  • 采用固定带宽

    费用:(100+100+100)Gbps/小时 x 20 元/Gbps/小时=6000元

  • (推荐)采用弹性带宽

    费用:(80+40+90)Gbps/小时 x 20 元/Gbps/小时=4200元

重要
  • 使用OSS加速器时,OSS会按照申请的加速器配置容量计费,与实际使用容量无关。

    例如,您申请了100 Gbps的带宽,实际使用了50 Gbps,OSS将按照100 Gbps计算。

  • OSS加速器使用时长不足一小时,按实际使用分钟数统计费用,例如使用时长为20分钟,则按0.33小时计算。

关于OSS加速器的计费说明,请参见OSS加速器费用

建议

基于以上计费模型得知,如果您可以在需要大量带宽的时间段提升带宽,在日常使用时减少带宽,则可以实现按需使用OSS加速器时,达到优化使用成本的目的。您可以参考以下方案按需调整带宽。

根据任务需求的评估结果进行调整

在可以准确评估任务日常运行时间和带宽需求的情况下,仅需要在任务启动时提高带宽,在任务结束时减少带宽。关于配置OSS加速器容量的具体步骤,请参见设置加速器

根据实时查询的带宽用量进行调整

在无法准确预估任务日常运行的时间和带宽需求的情况下,可以通过OSS控制台或云监控实时查询当前的带宽,然后根据监控的带宽用量调整带宽。例如,当前的带宽配置为100 Gbps,最近15分钟仅使用了20 Gbps,则考虑适当减少带宽。关于修改OSS加速器容量的具体步骤,请参见修改加速器容量

您可以通过OSS管理控制台以及云监控SDK查看加速器带宽数据。

  • 方式一:通过OSS管理控制台

    1. OSS加速器页面,单击加速器统计数据页签。

    2. 加速器统计数据页签,选择OSS加速器名称以及加速器Bucket,然后选择查看最近15分钟、最近30分钟或者自定义起始与结束时间内的加速器带宽数据,并单击搜索test

  • 方式二:通过云监控SDK

    以下代码用于通过云监控Java SDK查看加速器带宽数据。

    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.cms.model.v20190101.DescribeMetricListRequest;
    import com.aliyuncs.cms.model.v20190101.DescribeMetricListResponse;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.exceptions.ServerException;
    import com.aliyuncs.profile.DefaultProfile;
    import com.google.gson.Gson;
    import java.text.ParseException;
    
    public class DescribeMetricListSample {
        public static void main(String[] args) throws ParseException {
            // 构建阿里云客户端前,请确保已设置环境变量AccessKeyId和AccessKeySecret。
            private static String acceskeyId = System.getenv("AccessKeyId");
            private static String accessKeySecret = System.getenv("AccessKeySecret");
            // 构建阿里云客户端,用于发起请求。
            DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", acceskeyId, accessKeySecret);
            IAcsClient client = new DefaultAcsClient(profile);
            // 构建请求。
            DescribeMetricListRequest request = new DescribeMetricListRequest();
            request.setRegionId("cn-hangzhou");
            /*
            CacheRecv:流入(上传)数据量(单位为Byte)
            CacheSendBandwidth:流入带宽(单位为bps)
            CacheSend:流出(下载)流量(单位为Byte)
            CacheRecvBandwidth:流出带宽(单位为bps)
            CacheOriginRecv:回源流入(下载)数据量(单位为Byte)
            CacheOriginRecvBandwidth:回源流入带宽(单位为bps)
            CacheOriginSend:回源流入(上传)数据量(单位为Byte)
            CacheOriginSendBandwidth:回源流入带宽(单位为bps)
             */
            request.setMetricName("CacheRecvBandwidth");
            request.setNamespace("acs_oss_dashboard");
            /*
            userId: 填写用户的UID。
            instanceId:填写加速器名称。
            BucketName:填写加速器Bucket。如果不填写该选项,默认查询所有加速器Bucket的带宽数据。
             */
            //request.setDimensions("{\"userId\":\"187792400570****\",\"instanceId\":\"accelerate-test\",\"BucketName\":\"examplebucket\"}");
            request.setDimensions("{\"userId\":\"187792400570****\",\"instanceId\":\"accelerate-test\"}");
            try {
                DescribeMetricListResponse response = client.getAcsResponse(request);
                System.out.println(new Gson().toJson(response));
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                System.out.println("ErrCode:" + e.getErrCode());
                System.out.println("ErrMsg:" + e.getErrMsg());
                System.out.println("RequestId:" + e.getRequestId());
            }
        }
    }

参考通用规则进行调整

您在使用OSS加速器时,可以考虑按照梯度扩容以及快速缩容的模式进行带宽调整。

说明

以下示例中定义的10分钟仅供参考,请结合实际业务场景进行相应替换。

  • 梯度扩容

    假设10分钟内当前流量超出最大带宽的90%,建议将最大带宽提高10 Gbps。

  • 快速缩容

    假设10分钟内当前流量均低于最大带宽的50%,建议减少带宽至当前流量。

  • 本页导读 (1)
文档反馈