probe(探测状态)

probe命令是针对OSS访问的探测命令,可用于排查本地与OSS之间的网络状态、上传下载带宽、本地符号链接(软链接)状态等。

注意事项

要探测上传带宽,您必须具有oss:GetObjectoss:PutObjectoss:DeleteObject权限;要探测下载带宽,您必须具有oss:GetObject权限。具体操作,请参见RAM用户授权自定义的权限策略

使用说明

当您需要了解本地与OSS之间的网络异常、查看上传下载带宽、上传大量软链接文件时,都可以使用probe进行探测。

  • 探测网络异常

    ossutil通过上传或下载的方式探测本地与OSS之间的网络状况。如果您在探测的同时需要将指定文件上传或下载到指定位置,建议您使用实际的文件进行上传下载探测;若您仅需要探测网络异常,可以在上传或下载探测时不添加文件名,ossutil会使用临时文件进行探测,并在探测结束后删除这些文件。

  • 查看上传下载带宽

    探测上传下载带宽时,OSS会根据您的设备CPU及您的带宽给出一个上传下载的并发建议值。您可以按照ossutil的建议设置并发,以最大限度地利用您的带宽。

  • 探测本地软链接状态

    当您上传大量软链接文件时,若某个链接出现异常会导致上传中断。建议您在上传前,先探测本地软链接文件是否存在异常。若存在异常,请修复异常文件后再进行批量上传。

probe命令运行后,您可以查看到任务执行的步骤及结果。

  • 上传和下载探测

    • 执行步骤出现✓表示本项检测通过,×表示未通过。

    • 若探测成功,ossutil会给出文件的大小、上传下载时间、文件路径等信息。

    • 若探测失败,ossutil会给出导致错误的原因或错误码,您可以根据提示排查问题原因。

      关于错误码的介绍,请参见错误码概述

    • 探测结束后会在ossutil的安装目录生成一个格式为logOssProbe+探测结束时间.log的日志文件,里面包含此次probe命令执行的详细信息。

  • 指定项目探测

    探测上传下载带宽、本地软链接状态时,ossutil会直接给出探测结果和可能的建议。

上传文件并输出探测报告

ossutil上传文件到目标存储空间(Bucket)的方式探测本地和目标Bucket之间的网络状态。

  • 命令格式

    ossutil probe {--upload [file_name]} {--bucket bucket_name} [--object object_name] [--addr domain_name] [--upmode]

    参数说明如下:

    参数

    类型

    是否必选

    说明

    --upload

    /

    指定探测方式为上传探测。

    file_name

    string

    填写要上传至目标Bucket的本地文件完整路径;置空此项时,ossutil会生成一个临时文件进行上传探测。

    --bucket

    string

    目标Bucket名称。

    --object

    string

    增加此项并指定文件名称,ossutil会将上传文件按指定名称保存在Bucket中;若不增加此项,ossutil会在探测结束后删除上传的文件。

    --addr

    string

    增加此项并填写正确的网络地址,ossutil会通过ping操作验证本地到目标地址的网络连通性。

    默认值:www.aliyun.com

    --upmode

    string

    指定文件的上传方式。

    取值:

    • normal(默认值):简单上传

    • append:追加上传

    • multipart:分片上传

  • 使用示例

    • 上传随机文件并指定ping操作的目标地址

      上传的目标Bucket名为examplebucket,ping操作的目标网络地址为aliyun.com。命令如下:

      ossutil probe --upload --bucket examplebucket --addr aliyun.com

      输出如下:

      begin parse parameters and prepare file...[√]
      begin network detection...[√]
      begin upload file(normal)...[√]
      
      *************************  upload result  *************************
      upload file:success
      upload file size:143360(byte)
      upload time consuming:456(ms)
      (only the time consumed by probe command)
      
      upload object is oss-test-probe-1716280906324488100-quky8a902r
      
      ************************* report log info*************************
      report log file:E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\logOssProbe20240521164146.log
    • 使用默认上传方式上传指定文件,并在探测结束后删除该文件

      D:\localpath中的文件example.txt上传到名为examplebucketBucket。命令如下:

      ossutil probe --upload D:\localpath\example.txt --bucket examplebucket 

      输出如下:

      begin parse parameters and prepare file...[√]
      begin network detection...[√]
      begin upload file(normal)...[√]
      
      *************************  upload result  *************************
      upload file:success
      upload file size:9(byte)
      upload time consuming:366(ms)
      (only the time consumed by probe command)
      
      upload object is oss-test-probe-1716281191298397500-hi8237d15e
      
      ************************* report log info*************************
      report log file:E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\logOssProbe20240521164631.log

通过文件URL下载文件并输出探测报告

ossutil通过使用文件URL下载目标文件到本地的方式探测本地和目标Bucket之间的网络状态。

  • 命令格式

    ossutil probe {--download} {--url http_url} [--addr=domain_name] [file_name]

    参数说明如下:

    参数

    类型

    是否必选

    说明

    --download

    /

    指定探测方式为下载探测。

    --url

    string

    填写文件URL,ossutil会将URL对应的文件下载到本地。

    • 公共读文件:直接填写文件URL。例如https://examplebucket.oss-cn-beijing.aliyuncs.com/example.jpg

    • 私有文件:填写带签名的文件URL,URL需使用双引号(“”)包裹。例如“https://examplebucket.oss-cn-beijing.aliyuncs.com/example.jpg?Expires=1552015472&OSSAccessKeyId=TMP.******5r9f1FV12y8_Qis6LUVmvoSCUSs7aboCCHtydQ0axN32Sn-UvyY3AAAwLAIUarYNLcO87AKMEcE5O3A******oCFAQuRdZYyVFyqOW8QkGAN-bamUiQ&Signature=bIa4llbMbldrl7rwckr%2FXXvTtxw%3D”

    --addr

    string

    增加此项并填写正确的网络地址,ossutil会通过ping操作验证本地到目标地址的网络连通性。

    默认值:www.aliyun.com

    file_name

    string

    设置文件下载到本地后的保存路径。

    • 仅指定文件名,未指定目录:ossutil会将文件按指定名称保存到ossutil的安装目录。

    • 仅指定目录,未指定文件名:ossutil会将文件按原名称保存到指定目录。

    • 置空此项:ossutil会将文件按原名称保存到ossutil的安装目录。

  • 使用示例

    • 通过文件URL下载目标文件并重命名

      文件URLhttps://examplebucket.oss-cn-beijing.aliyuncs.com/example.txt,指向examplebucket中一个公共读文件example.txt,下载到本地后重命名为/localfile/test.txt。命令如下:

      ossutil probe --download --url https://examplebucket.oss-cn-beijing.aliyuncs.com/example.txt  /localfile/test.txt

      输出如下:

      begin parse parameters and prepare object...[√]
      begin network detection...[√]
      begin download file...[√]
      
      *************************  download result  *************************
      download file:success
      download file size:9(byte)
      download time consuming:278(ms)
      (only the time consumed by probe command)
      
      download file is E:\localfile\test.txt
      
      ************************* report log info*************************
      report log file:E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\logOssProbe20240521173050.log
                                      
    • 通过文件URL下载目标文件并指定ping操作的目标地址

      文件URLhttps://examplebucket.oss-cn-beijing.aliyuncs.com/example.txt,指向examplebucket中一个公共读文件example.txt,ping操作的目标地址为aliyun.com。命令如下:

      ossutil probe --download --url https://examplebucket.oss-cn-beijing.aliyuncs.com/example.txt --addr aliyun.com

      输出如下:

      begin parse parameters and prepare object...[√]
      begin network detection...[√]
      begin download file...[√]
      
      *************************  download result  *************************
      download file:success
      download file size:9(byte)
      download time consuming:316(ms)
      (only the time consumed by probe command)
      
      download file is E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\example.txt
      
      ************************* report log info*************************
      report log file:E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\logOssProbe20240521173448.log                               

直接下载指定文件并输出探测报告

ossutil通过直接下载目标Bucket中的文件到本地的方式探测本地和目标Bucket之间的网络状态。

  • 命令格式

    ossutil probe {--download} {--bucket bucket_name} [--object object_name] [--addr domain_name] [file_name]

    参数说明如下:

    参数

    类型

    是否必选

    说明

    --download

    /

    指定探测方式为下载探测。

    --bucket

    string

    目标Bucket名称。

    --object

    string

    增加此项并指定文件名称,ossutil会将指定文件下载到本地;置空此项,ossutil会生成一个临时文件上传到目标Bucket后再将其下载,探测结束后会将该临时文件从目标Bucket中删除。

    --addr

    string

    增加此项并填写正确的网络地址,ossutil会通过ping操作验证本地到目标地址的网络连通性。

    默认值:www.aliyun.com

    file_name

    string

    设置文件下载到本地后的保存路径。

    • 仅指定文件名,未指定目录:ossutil会将文件按指定名称保存到ossutil的安装目录。

    • 仅指定目录,未指定文件名:ossutil会将文件按原名称保存到指定目录。

    • 置空此项:ossutil会将文件按原名称保存到ossutil的安装目录。

  • 使用示例

    • 下载指定文件并重命名

      将名为examplebucketBucket中的文件/ossfolder/example.txt下载到本地后重命名为/localfolder/text.txt

      ossutil probe --download --bucket examplebucket --object /ossfolder/example.txt /localfolder/text.txt

      输出如下:

      begin parse parameters and prepare object...[√]
      begin network detection...[√]
      begin download file...[√]
      
      *************************  download result  *************************
      download file:success
      download file size:9(byte)
      download time consuming:416(ms)
      (only the time consumed by probe command)
      
      download file is E:\localfolder\text.txt
      
      ************************* report log info*************************
      report log file:E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\logOssProbe20240521180217.log
    • 下载临时文件并指定ping操作的目标地址

      目标Bucket名为examplebucket,ping操作的目标地址为aliyun.com。命令如下:

      ossutil probe --download --bucket examplebucket --addr aliyun.com

      输出如下:

      begin parse parameters and prepare object...[√]
      begin network detection...[√]
      begin download file...[√]
      
      *************************  download result  *************************
      download file:success
      download file size:143360(byte)
      download time consuming:865(ms)
      (only the time consumed by probe command)
      
      download file is E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\oss-test-probe-1716286063484973300-rrmrfgtv8w
      
      ************************* report log info*************************
      report log file:E:\00-OSS\01-ossutil\05-v2\ossutil-2.0.0-beta.24041600-windows-amd64\logOssProbe20240521180533.log

指定项目探测

ossutil可通过指定探测项目的方式探测本地软链接文件状态、上传和下载带宽,并根据结果给出异常软链接的名称、上传下载并发数建议。

  • 命令格式

    ossutil probe {--probe-item item_value} {--bucket bucket-name} [--object object_name][--parallel <value>][--part-size <value>][--runtime <value>]

    参数说明如下:

    参数

    类型

    是否必选

    说明

    --probe-item

    string

    指定探测项目。

    取值:

    • cycle-symlink:探测本地是否存在异常软链接。

    • upload-speed:探测上传带宽。

    • download-speed:探测下载带宽。

    • download-time:探测下载时间。

    --bucket

    string

    --probe-item取值不为cycle-symlink时必选

    目标Bucket名称。

    --object

    string

    --probe-item取值为download-speed时必选

    填写目标文件的访问路径。目标文件需真实存在且建议大于5 MB。例如ossfolder/example.txt

    --parallel

    int

    单文件操作时的并发任务数,默认值为1。

    说明

    仅当--probe-item取值为download-time时生效。

    --part-size

    int

    设置分片大小,单位为字节。默认情况下ossutil会根据文件大小自行计算合适的分片大小值。

    取值范围:1~9223372036854775807

    说明

    仅当--probe-item取值为download-time时生效。

    --runtime

    int

    设置运行时间。超过此时间,运行取消。

    说明

    仅当--probe-item取值为upload-speeddownload-speed时生效。

  • 使用示例

    • 探测本地目录下localfolder目录是否存在异常软链接

      命令如下:

      ossutil probe --probe-item cycle-symlink  D:\localfolder

      输出如下:

       success
      
      0.009583(s) elapsed

      输出内容表没有异常软链接。

    • 探测上传带宽

      上传一个临时文件到examplebucket,并根据当前设备的硬件配置及上传带宽给出上传并发数的配置建议。

      命令如下:

      ossutil probe --probe-item upload-speed --bucket examplebucket

      输出如下:

      cpu core count:8
      parallel:8,average speed:1956.41(KB/s),current speed:2976.00(KB/s),max speed:2976.00(KB/s)
      parallel:9,average speed:1903.45(KB/s),current speed:1216.00(KB/s),max speed:2720.00(KB/s)
      parallel:10,average speed:1945.38(KB/s),current speed:1184.00(KB/s),max speed:3168.00(KB/s)
      parallel:11,average speed:2102.07(KB/s),current speed:7840.00(KB/s),max speed:7840.00(KB/s)
      parallel:12,average speed:1899.03(KB/s),current speed:1568.00(KB/s),max speed:3168.00(KB/s)
      parallel:13,average speed:1934.34(KB/s),current speed:1760.00(KB/s),max speed:8544.00(KB/s)
      parallel:14,average speed:1765.52(KB/s),current speed:1984.00(KB/s),max speed:2880.00(KB/s)
      parallel:15,average speed:2284.14(KB/s),current speed:2016.00(KB/s),max speed:6688.00(KB/s)
      parallel:16,average speed:2544.55(KB/s),current speed:4032.00(KB/s),max speed:9344.00(KB/s)
      
      suggest parallel is 16, max average speed is 2544.55(KB/s)

      输出内容表示设备CPU8核,上传最大平均带宽为2544.55 KB/s,建议上传并发数设置为16。

    • 探测下载带宽

      examplebucket中的文件example.txt下载到本地,并根据当前设备的硬件配置及下载带宽给出下载并发数的配置建议。

      命令如下:

      ossutil probe --probe-item download-speed --bucket examplebucket --object example.txt

      输出如下:

      cpu core count:8
      parallel:8,average speed:1.41(KB/s),current speed:1.69(KB/s),max speed:1.78(KB/s)
      parallel:9,average speed:1.48(KB/s),current speed:1.02(KB/s),max speed:1.95(KB/s)
      parallel:10,average speed:1.52(KB/s),current speed:1.60(KB/s),max speed:2.11(KB/s)
      parallel:11,average speed:1.41(KB/s),current speed:2.17(KB/s),max speed:2.34(KB/s)
      parallel:12,average speed:1.86(KB/s),current speed:1.71(KB/s),max speed:2.47(KB/s)
      parallel:13,average speed:1.90(KB/s),current speed:0.58(KB/s),max speed:2.65(KB/s)
      parallel:14,average speed:1.17(KB/s),current speed:0.99(KB/s),max speed:2.29(KB/s)
      parallel:15,average speed:1.86(KB/s),current speed:1.42(KB/s),max speed:2.84(KB/s)
      parallel:16,average speed:1.93(KB/s),current speed:0.76(KB/s),max speed:2.56(KB/s)
      
      suggest parallel is 16, max average speed is 1.93(KB/s)

      输出内容表示设备CPU8核,下载最大平均带宽为1.93 KB/s,建议下载并发数设置为16。

    • 探测下载带宽并设置运行时时间

      examplebucket中的文件example.zip下载到本地,并根据当前设备的硬件配置及下载带宽给出下载并发数的配置建议,同时设置运行时间。

      ossutil probe --probe-item download-speed --bucket examplebucket --object  example.zip --runtime 2

      输出如下:

      cpu core count:8
      parallel:8,average speed:937.76(KB/s),current speed:952.00(KB/s),max speed:1044.00(KB/s)))
      parallel:9,average speed:935.59(KB/s),current speed:936.00(KB/s),max speed:1016.00(KB/s))
      parallel:10,average speed:924.45(KB/s),current speed:940.00(KB/s),max speed:968.00(KB/s)
      parallel:11,average speed:930.48(KB/s),current speed:828.00(KB/s),max speed:1104.00(KB/s))
      parallel:12,average speed:908.21(KB/s),current speed:920.00(KB/s),max speed:1000.00(KB/s))
      parallel:13,average speed:923.86(KB/s),current speed:992.00(KB/s),max speed:992.00(KB/s)
      parallel:14,average speed:794.14(KB/s),current speed:776.00(KB/s),max speed:948.00(KB/s)
      parallel:15,average speed:835.28(KB/s),current speed:936.00(KB/s),max speed:960.00(KB/s)
      parallel:16,average speed:935.62(KB/s),current speed:932.00(KB/s),max speed:984.00(KB/s)
      
      suggest parallel is 8, max average speed is 937.76(KB/s)
      
      run download-speed  2 seconds with parallel 8
      parallel:8,average speed:809.67(KB/s),current speed:651.08(KB/s),max speed:891.08(KB/s)
      281.731035(s) elapsed
    • 探测下载时间

      examplebucket中的文件example.txt下载到本地,并探测下载时间。

      ossutil probe --probe-item download-time --bucket examplebucket --object example.txt

      输出如下:

      download-speed part-size:-1, parallel:1 total bytes:9, cost:0.057 s, avg speed:NaN(kB/s)
      
      0.539351(s) elapsed
    • 探测下载时间并设置分片大小

      examplebucket中的文件example.zip下载到本地,探测下载时间,并设置分片大小。

      ossutil probe --probe-item download-time --bucket examplebucket --object example.zip --part-size 10000000

      输出如下:

      downloading average speed:904.75(KB/s),current speed:1777.62(KB/s),max speed:1868.00(KB/s)
      download-speed part-size:10000000, parallel:1 total bytes:11881599, cost:12.831 s, avg speed:966.92(kB/s)
      
      13.188139(s) elapsed
    • 探测下载时间并设置并发大小

      examplebucket中的文件example.zip下载到本地,探测下载时间,并设置并发大小。

      ossutil probe --probe-item download-time --bucket examplebucket --object example.zip --parallel 3

      输出如下:

      downloading average speed:910.58(KB/s),current speed:1740.00(KB/s),max speed:1876.00(KB/s)
      download-speed part-size:-1, parallel:3 total bytes:11881599, cost:12.728 s, avg speed:966.92(kB/s)
      
      12.984432(s) elapsed