obs
obsutil性能调优最佳实践
更新时间:2020/12/31 GMT+08:00
obsutil对大于50MB的文件/对象默认采用分段方式进行上传、下载和复制,与分段任务相关的参数在.obsutilconfig配置文件中,如表1所示。
参数 |
描述 |
---|---|
defaultBigfileThreshold |
开启分段任务的阈值,如果待上传/下载/复制的文件大于该阈值,则采用分段任务的形式进行上传/下载/复制。单位:字节,默认为50MB。 |
defaultPartSize |
每个分段任务的段大小,单位:字节,默认为auto。 说明:
|
defaultParallels |
每个分段任务的最大并发数,默认为5。 |
通常情况下使用分段任务不仅能提高传输效率,还能实现失败任务的断点续传。默认情况下,分段任务的段大小可以使用auto模式让obsutil自动调整。但在实际操作中,为了进一步提升上传下载性能,可根据文件大小、网络情况等因素进行调整,以获得最大传输效率并能保证传输任务顺利完成。
其中分段并发数可按照以下规则进行调整:
defaultParallels = Min(CPU个数 * 2, 目标对象大小 / defaultPartSize*1.5)
在上传、下载和复制命令中,obsutil提供-p和-ps参数用于修改分段并发数和分段大小,并最终以在命令中配置的参数值下发分段任务。如果在命令中不配置,则采用配置文件中的默认值。
其中分段并发数可按照以下规则进行调整:
p = Min(CPU个数 * 2, 目标对象大小 / ps*1.5)

- 由于运行机资源限制,如果并发数配置过大,可能会因此线程间资源切换及抢夺等原因,导致obsutil上传/下载/复制的性能下降,所以请根据实际的文件大小和网络情况调整defaultParallels (-p)和defaultPartSize(-ps)这两个参数的数值。如果要进行压力测试,可以一开始将两个数值调低,然后慢慢调大寻找最优值。
- 如果defaultParallels (-p)和defaultPartSize(-ps)参数值过大,可能会因为网络不稳定等原因,产生EOF错误,此时请适当降低defaultParallels (-p)和defaultPartSize(-ps)参数值。
- 如果进行的是批量操作,目标对象大小可以取待操作对象的平均值。
父主题: 最佳实践
