阿里云OSS性能与扩展性最佳实践,阿里云centos系统服务器搭建-ESG跨境

阿里云OSS性能与扩展性最佳实践,阿里云centos系统服务器搭建

来源网络
来源网络
2022-05-08
点赞icon 0
查看icon 525

阿里云OSS性能与扩展性最佳实践,阿里云centos系统服务器搭建阿里云OSS性能与扩展性最佳实践如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),可能会出现大量文件索引集中存储于存储空间中的某个特定分区的情况。此时如果您的请求次数过多,会导致请求速率下降。出现这种问题时,建议您为Object的名称......

阿里云OSS性能与扩展性最佳实践,阿里云centos系统服务器搭建




阿里云OSS性能与扩展性最佳实践

如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),可能会出现大量文件索引集中存储于存储空间中的某个特定分区的情况。此时如果您的请求次数过多,会导致请求速率下降。出现这种问题时,建议您为Object的名称增加随机前缀。

背景信息

OSS按照文件名UTF8编码的顺序对用户数据进行自动分区,从而能够处理海量文件,以及承载高速率的客户请求。不过,如果您在上传大量文件时,在命名上使用了顺序前缀(如时间戳或字母顺序),可能会导致大量文件索引集中存储于某个特定分区。当您的请求速率超过2000次/秒时(下载、上传、删除、拷贝、获取元数据信息等操作算1次操作,批量删除N个文件、列举N个文件等操作算N次操作),会带来如下后果:

该分区成为热点分区,导致分区的I/O能力被耗尽,或被系统自动限制请求速率。

热点分区的存在会触发系统进行持续的分区数据再均衡,这个过程可能会延长请求处理时间。

说明分区数据再均衡是依赖于对当前系统状态、处理能力等信息做各种智能分析后进行的,并不是某个固定的拆分规则。所以分区数据再均衡后,使用了顺序前缀的文件可能还会处于高热点的分区当中。

以上情况会降低OSS的水平扩展效果,导致客户的请求速率受限。

要解决这个问题,就要消除文件名中的顺序前缀。您可以在文件名前缀中引入某种随机性,这样文件索引(以及I/O负载)就会均匀分布在多个分区。

解决方案

下面提供了两个将顺序前缀改为随机性前缀的方法。

向文件名添加十六进制哈希前缀

如下所示,若您使用日期与客户ID生成文件名,则会包含顺序时间戳前缀:

samplebucket01/201711/customer/file1

samplebucket01/201711/customer2/file2

samplebucket01/201711/customer3/file3

...

samplebucket01/201712/customer2/file4

samplebucket01/201712/customer5/file5

samplebucket01/201712/customer7/file6

...

针对这种情况,您可以对客户ID计算哈希(即MD5),并取若干字符的哈希前缀作为文件名的前缀。假如取4个字符的哈希前缀,结果如下:

samplebucket01/2c99/201711/customer/file1

samplebucket01/7a01/201711/customer2/file2

samplebucket01/1dbd/201711/customer3/file3

...

samplebucket01/7a01/201712/customer2/file4

samplebucket01/b1fc/201712/customer5/file5

samplebucket01/2bb7/201712/customer7/file6

...

加入4个字符组成的十六进制哈希作为前缀,则每个字符有0~9以及a~f共16种取值,4个字符共有16 4=65536种可能的字符组合。那么在存储系统中,这些数据理论上会被持续划分至最多65536个分区,以每个分区操作2000次/秒的性能瓶颈标准,再结合您业务的请求速率,可以评估hash桶的个数是否合适。

如果您想要列出文件名中带有特定日期的文件,例如列出samplebucket01里带有201711的文件,您只要对samplebucket01进行列举(即通过多次调用ListObject接口,分批次地获得samplebucket01下的所有文件),然后合并带有该日期的文件即可。

反转文件名

如下所示,若您使用了毫秒精度的Unix时间戳生成文件名,同样属于顺序前缀:

samplebucket02/1513160001245.log

samplebucket02/1513160001722.log

samplebucket02/1513160001836.log

samplebucket02/1513160001956.log

...

samplebucket02/1513160002153.log

samplebucket02/1513160002556.log

samplebucket02/1513160002859.log

...

这种情况可以考虑通过反转时间戳前缀来避免文件名包含顺序前缀,反转后结果如下:

samplebucket02/5421000613151.log

samplebucket02/2271000613151.log

samplebucket02/6381000613151.log

samplebucket02/6591000613151.log

...

samplebucket02/3512000613151.log

samplebucket02/6552000613151.log

samplebucket02/9582000613151.log

...

由于文件名中的前3位数字代表毫秒时间,会有1000种取值。而第4位数字,每1秒钟就会改变一次。同理第5位数字每10秒钟就会改变一次。以此类推,反转文件名后,极大地增强了前缀的随机性,从而将负载压力均匀地分摊在各个分区上,避免出现性能瓶颈。


文章推荐
阿里云视频直播出现卡顿现象怎样解决,阿里云播放视频卡顿
爆款超休创意灵感及成功的长线运营拆解
Wish产品发布后图片丢失、图片上传无效怎么办,wish注册提示图片不对
帮助您人性化品牌,人性化品牌塑造的好处


特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。

搜索 放大镜
ESG专业服务案例
查看
1
1个月孵化,GMV增长4400%
【能解决问题的才叫资源 能赚钱的才叫专业】 >> Gmarket卖家店铺经过ESG跨境客户经理优化,月GMV达到20万美金!
2
对接平台官方关键人,3天解封店铺
【精准资源对接 极速解决问题】 >> ESG跨境帮我解决了韩国平台店铺异常问题——运营韩国平台的卖家
3
ESG速度!5小时,PayPal解封
【用资源解决难题 以效率展现专业】 >> ESG拥有Paypal支付和Onbuy平台双绿通道为卖家保驾护航!
4
据理力争,客户产品喜获0竞争绿洲
【只要资源好 跨境弯路少】>> ESG跨境通过专业市场调研分析产品数据,向平台争取机会,卖家成功上架市场热卖而平台稀缺产品,拓展了西班牙新商机!
韩国平台交流群
加入
韩国平台交流群
扫码进群
欧洲多平台交流群
加入
欧洲多平台交流群
扫码进群
美国卖家交流群
加入
美国卖家交流群
扫码进群
ESG跨境专属福利分享群
加入
ESG跨境专属福利分享群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
《开店大全-主流平台篇》
《开店大全-东南亚篇》
《CD平台自注册指南》
《开店大全-俄罗斯篇》
《韩国站内推广指南》
《韩国热销品预测》
《开店大全-日韩篇》
《开店大全-拉美篇》
《开店大全-欧洲篇》
《开店大全-蓝海篇》
通过ESG入驻平台,您将解锁
绿色通道,更高的入驻成功率
专业1v1客户经理服务
运营实操指导
运营提效资源福利
平台官方专属优惠

立即登记,定期获得更多资讯

订阅
联系顾问

平台顾问

平台顾问 平台顾问

微信扫一扫
马上联系在线顾问

icon icon

小程序

微信小程序

ESG跨境小程序
手机入驻更便捷

icon icon

返回顶部

进行中
全球平台详解——主流平台篇
报名中
Baidu
map