随着AI、数据仓库、大数据分析等业务发展,越来越多运行在OSS上的业务对于数据的访问延迟和吞吐量有了更高的要求。OSS推出加速器功能,可以将OSS中的热点文件(Object)缓存在NVMe SSD高性能存储介质上,提供毫秒级低延迟和高吞吐量的数据访问服务。
无地域属性存储空间不支持使用OSS加速器。
指标说明
指标 | 说明 |
读带宽(峰值) | 计算公式为:MAX[300,300×容量(TB)]MB/s
例如,加速器容量配置为2048 GB(即2 TB),则读带宽为300×2=600MB/s。 |
最大读带宽 | 40 GB/s 如果您的业务场景需要更大的读带宽,请提交工单申请。 |
单路128 KB最低读延迟 | <10 ms |
容量 |
如果您的业务场景需要更高的容量,请提交工单申请提升容量。 |
扩缩容间隔 | 每小时可修改1次 |
扩缩容方式 | 通过控制台手动扩缩容 |
缓存淘汰策略 | 采用LRU(Least Recently Used)缓存淘汰策略。LRU缓存淘汰策略用于确保经常被访问的数据得以保留,长时间不被访问的数据被优先移除,从而达到高效利用缓存空间的目的。 |
前提条件
OSS加速器功能目前在华东1(杭州)、华东2(上海)、华北2(北京)、华北6(乌兰察布)、华南1(深圳)、新加坡地域公测。
注意事项
加速器域名只支持内网访问。如果您需要缓存通过公网访问的OSS数据,建议您使用CDN服务。
OSS加速器中的缓存数据为单副本。当缓存硬件发生故障时,数据需要从OSS重新预热。预热完成前,访问速度会下降。
费用说明
OSS加速器目前处于公测阶段,公测期间免费提供最大100 GB的加速器配置容量。公测结束后,您需要根据加速器配置的实际容量按量付费。
通过加速器域名读写OSS数据时,即使未发生回源,也会产生OSS请求费用。
使用场景
OSS加速器适用于需要大量带宽,且数据重复读的场景。具体场景如下:
模型推理
需求背景
AIGC模型推理需要拉取加载模型文件,在推理的调试过程中,还需要不断切换新的模型文件进行尝试。随着模型文件的不断增大,推理服务器拉取模型文件所需时间会越来越长。
解决方案
采用OSS加速器异步预热或者读时预热模式。OSS异步预热模式适用于明确知晓热点模型文件范围的场景,读时预热适用于不确定模型文件范围的场景。如果您知晓热点模型文件的列表,可以配置相应的加速器空间,并通过加速器SDK将指定的OSS文件提前放入加速器空间中。您也可以根据经验配置一定大小的加速器空间,加速器会在数据读取时自动缓存文件至加速器高性能介质中,供下次读取时快速访问。加速器的空间可根据加速效果随时进行扩缩调整。如果您的推理程序需要通过本地目录方式访问OSS,您需要部署ossfs。
低时延数据共享
需求背景
客户在货柜上购买物品,先通过手机App扫描货柜的货物拍照上传,应用后端接收到图片后通过OSS加速器进行存储。后台的子系统随后进行内容安全分析和图片上条码的识别,条码识别后的结果反馈到应用后端进行扣费等操作。下载图片要求毫秒级完成。
解决方案
采用OSS加速器写时预热的模式。使用OSS加速器可以有效降低分析系统加载图片的延时情况,缩短交易链路。OSS加速器适合对延时敏感,多次重复读的业务。
大数据分析
需求背景
公司的业务数据按天进行分区,归档到OSS作为长期数据进行存储。分析人员使用Hive或Spark等计算引擎对数据进行分析,但不确定查询范围。分析人员要求尽量减少查询分析时间。
解决方案
使用OSS加速器读时预热的模式。该模式适用于离线查询场景下数据量大,且不确定数据查询范围,无法准确预热的场景。例如,分析人员A查询的数据,数据会缓存在加速集群。而分析人员B查询的数据包含分析人员A查询的数据,从而加快数据分析进度。
多级加速
需求背景
客户端缓存和服务端加速并不冲突,希望根据业务情况能够达到多级加速的效果。
解决方案
OSS加速器与客户端缓存搭配使用。Alluxio推荐co-locate的部署方式,与计算集群并置。当读取的数据未命中Alluxio缓存时,会从后端存储来读取数据。对于OSS加速器,采用读时预热,并在第一次获取数据时进行预热。由于客户端主机缓存空间的限制,Alluxio中每个文件和目录都会设置TTL。当TTL到期后缓存会被淘汰,以便节约空间。此时,OSS加速器中的数据并不会马上淘汰,其缓存空间可以存放数百TB的数据。当再次读取Alluxio中未命中的数据时,可以直接从OSS加速器加载,实现两级加速。
功能优势
低延迟
OSS加速器的NVMe SSD介质可以为业务提供的毫秒级下载延迟,尤其适用于大文件的下载场景。对于推理模型下载,数仓热数据查询有较好的效果。
吞吐能力
加速器的带宽随容量大小线性增长,并提供高达百GB/s的突发吞吐能力。
弹性伸缩
计算任务通常是周期性任务,每个任务所需资源存在差异。加速器可根据您的需求进行在线扩容或缩容,可有效避免资源浪费,降低您的使用成本。加速器支持最低50 GB,最大百TB的缓存空间。OSS加速器继承了OSS海量数据存储的优点,支持直接缓存数仓中的多个表或者分区。
高吞吐密度
加速器可以为少量数据提供极大的吞吐能力,可以满足少量热数据的突发读取需求。
存算分离
OSS加速器相较于计算服务器上的缓存空间,可以脱离计算服务器独立且在线调整空间和性能。
数据一致
加速器提供了传统缓存方案不具备的OSS数据强一致性。当OSS上的文件被更新时,加速器能自动识别并缓存更新后的文件,以确保计算引擎读取的都是更新后的数据。
多种预热策略
OSS加速器能够自动识别OSS上更新的文件,确保引擎读取到最新数据。OSS加速器提供以下预热策略。
同步预热:数据写入OSS时,将数据同步缓存至加速器空间。
读时预热:数据读取时未命中,加速器会自动将其缓存至加速器空间。
异步预热:通过命令,将OSS中数据批量缓存至加速器空间。
工作原理
加速器创建完成后会拥有一个地域专属的内网加速域名。例如华北2(北京)地域的加速域名为http://cn-beijing-internal.oss-data-acc.aliyuncs.com
。当您与加速器在同一专有网络VPC时,您可以通过加速域名访问加速器内的资源,流程如下图所示:
流程说明如下:
写请求
未开启同步预热时,客户端向加速域名发送的写请求会直接转发至OSS Bucket,流程与使用OSS默认域名一致。
开启同步预热后,客户端向加速域名发送的写请求会直接转发至OSS Bucket和OSS加速器。
读请求
客户端向加速域名发送的读请求会被转发给OSS加速器。
加速器在收到读请求后会在缓存空间内查找目标文件:
若缓存空间存在目标文件,则文件直接返回给客户端。
若缓存空间没有目标文件,加速器会向绑定的OSS请求目标文件。OSS在收到请求后,会将目标文件缓存到加速器中,加速器将文件返回给客户端。
当加速器缓存已满后,加速器会根据缓存文件的热度将低热度的文件替换为高热度文件。
性能表现
下载响应延迟统计
通过OSS以及OSS加速器多次下载10 MB的Object进行测试,统计其响应延迟(单位ms)分位数,结果显示降低10倍延迟。
以下图表中的P50表示50%的请求符合当前统计的延迟情况,P999表示99.9%的请求符合当前统计的延迟情况。
云上数据湖及数仓场景
某用户分别对本地盘、原生OSS以及OSS加速器作为存储介质进行测试。
延迟情况
场景
Local Cache FS (本地)
OSS
OSS Cache (加速器)
点查
382ms
2451ms
1160ms
1000条数据抽取
438ms
3786ms
1536ms
10%不连续查询
130564ms
345707ms
134659ms
全量扫描测试
171548ms
398681ms
197134ms
性能情况
在线查询时,OSS加速器读命中RT是直读OSS的2~2.5倍。全量扫描、10%随机查询性能是直读OSS的2~2.5倍,约为Local ESSD CacheFs本地读性能的85%。
在线查询时,OSS加速器单个请求固有延迟为8~10ms。1000条随机查询、点查性能是直读OSS的1.5~3倍,约为Local ESSD CacheFs本地读性能的30%。
容器及自动驾驶仿真训练场景
大量容器同时启动获取镜像,地图,日志数据。仿真训练的整体时长降低60%。
类型
容量
峰值带宽
时长
OSS
204 TB
100 Gbps
2.2小时
OSS加速器
128 TB
300 Gbps
40分钟
加速器带宽
加速器根据配置的空间大小,为加速器上缓存的数据提供吞吐带宽。每TB的加速器空间提供2.4 Gbps的最大带宽。加速器提供的吞吐带宽为OSS标准带宽之外的性能,不受OSS标准带宽能力限制。关于OSS标准带宽限制说明,请参见使用限制。
例如,华南1(深圳)地域,OSS提供100 Gbps的标准带宽能力。开启加速器并配置10 TB加速器空间后,您可以通过加速器域名获得额外的24 Gbps低延迟带宽。对于批量离线计算应用,建议您以大规模并发大块读取的方式通过OSS内网域名利用100 Gbps标准带宽能力。对于热点数据查询业务,您可以通过OSS加速器域名访问缓存至NVMe SSD介质中的数据,获得额外的低延迟24 Gbps吞吐。
创建加速器
创建加速器。
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择
。在OSS加速器页面,单击设置。
在开通提示对话框,选中我已阅读服务试用条款,然后单击下一步。
在创建OSS加速器面板,配置加速器容量,然后单击下一步。
创建加速路径。
在创建加速路径面板,按照以下说明配置各项参数。
参数
说明
加速策略
选择加速器的策略。
指定路径加速:指定文件目录访问路径,最多可添加10条。指定后,加速器将只加速指定目录下的文件。例如您需要加速根目录下example目录的文件,则填写example/。
加速整个Bucket:加速Bucket内所有文件。
同步预热
建议开启同步预热。开启后,客户端通过加速器域名调用PutObject或者AppendObject方式向OSS写入数据时,数据会同时写入OSS Bucket以及OSS加速器,下次读取数据时可以通过OSS加速器获得更低延迟。
单击确认创建,然后在弹出的请确认设置中的计费项对话框,单击确定。
使用加速器
通过加速器加速整个Bucket或者指定路径的数据说明如下。
修改加速器容量
您可以通过以下步骤对加速器进行扩容或缩容。
在OSS加速器页面的基本信息区域,单击右上角的图标。
在编辑OSS加速器面板,修改加速器容量。
单击确定。