全部產品
Search
文件中心

Object Storage Service:probe(探測狀態)

更新時間:Jul 31, 2024

probe命令是針對OSS訪問的探測命令,可用於排查本地與OSS之間的網路狀態、上傳下載頻寬、本地符號連結(軟連結)狀態等。

注意事項

  • 要探測上傳頻寬,您必須具有oss:GetObjectoss:PutObjectoss:DeleteObject許可權;要探測下載頻寬,您必須具有oss:GetObject許可權。具體操作,請參見為RAM使用者授權自訂的權限原則

  • 從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,您無需根據系統重新整理Binary名稱。如果您的ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考

使用說明

當您需要瞭解本地與OSS之間的網路異常、查看上傳下載頻寬、上傳大量軟連結檔案時,都可以使用probe進行探測。

  • 探測網路異常

    ossutil通過上傳或下載的方式探測本地與OSS之間的網路狀況。如果您在探測的同時需要將指定檔案上傳或下載到指定位置,建議您使用實際的檔案進行上傳下載探測;若您僅需要探測網路異常,可以在上傳或下載探測時不添加檔案名稱,ossutil會使用臨時檔案進行探測,並在探測結束後刪除這些檔案。

  • 查看上傳下載頻寬

    探測上傳下載頻寬時,OSS會根據您的裝置CPU及您的頻寬給出一個上傳下載的並發建議值。您可以按照ossutil的建議設定並發,以最大限度地利用您的頻寬。

  • 探測本地軟連結狀態

    當您上傳大量軟連結檔案時,若某個連結出現異常會導致上傳中斷。建議您在上傳前,先探測本地軟連結檔案是否存在異常。若存在異常,請修複異常檔案後再進行批量上傳。

probe命令運行後,您可以查看到任務執行的步驟及結果。

  • 上傳和下載探測

    • 執行步驟出現✓表示本項檢測通過,×表示未通過。

    • 若探測成功,ossutil會給出檔案的大小、上傳下載時間、檔案路徑等資訊。

    • 若探測失敗,ossutil會給出導致錯誤的原因或錯誤碼,您可以根據提示排查問題原因。

      關於錯誤碼的介紹,請參見錯誤碼概述

    • 探測結束後會在ossutil的安裝目錄產生一個格式為logOssProbe+探測結束時間.log的記錄檔,裡麵包含此次probe命令執行的詳細資料。

  • 指定專案探測

    探測上傳下載頻寬、本地軟連結狀態時,ossutil會直接給出探測結果和可能的建議。

上傳檔案並輸出探測報告

ossutil上傳檔案到目標儲存空間(Bucket)的方式探測本地和目標Bucket之間的網路狀態。

  • 命令格式

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

    參數說明如下:

    參數

    是否必選

    說明

    --upload

    指定探測方式為上傳探測。

    file_name

    填寫要上傳至目標Bucket的本地檔案完整路徑;置空此項時,ossutil會產生一個臨時檔案進行上傳探測。

    --bucketname

    目標Bucket名稱。

    --object

    增加此項並指定檔案名稱,ossutil會將上傳檔案按指定名稱儲存在Bucket中;若不增加此項,ossutil會在探測結束後刪除上傳的檔案。

    --addr

    增加此項並填寫正確的網路地址,ossutil會通過ping操作驗證本地到目標地址的網路連通性。

    預設值:www.aliyun.com

    --upmode

    指定檔案的上傳方式。

    取值:

    • normal(預設值):簡單上傳

    • append:追加上傳

    • multipart:分區上傳

  • 使用樣本

    • 上傳隨機檔案並指定ping操作的目標地址

      上傳的目標Bucket名為examplebucket,ping操作的目標網路地址為aliyun.com。命令如下:

      ossutil probe --upload --bucketname 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:122880(byte)
      upload time consuming:245(ms)
      (only the time consumed by probe command)
      
      
      ************************* report log info*************************
      report log file:/root/logOssProbe20201201173031.log
    • 使用預設上傳方式上傳指定檔案,並在探測結束後刪除該檔案

      將本地根目錄下的檔案example.txt上傳到名為examplebucket的Bucket。命令如下:

      ossutil probe --upload example.txt --bucketname examplebucket 

      輸出如下:

      begin parse parameters and prepare file...[✓]
      begin network detection...[✓]
      begin upload file(normal)...[✓]
      
      *************************  upload result  *************************
      upload file:success
      upload file size:7(byte)
      upload time consuming:224(ms)
      (only the time consumed by probe command)
      upload object is example.txt
      
      ************************* report log info*************************
      report log file:/root/logOssProbe20201201173841.log
    • 使用追加上傳方式上傳指定檔案,並在探測結束後保留該檔案

      將本地根目錄下的檔案example.txt上傳到名為examplebucket的Bucket。命令如下:

      ossutil probe --upload example.txt --bucketname examplebucket --object example.txt --upmode append

      輸出如下:

      begin parse parameters and prepare file...[✓]
      begin network detection...[✓]
      begin upload file(append)...[✓]
      
      *************************  upload result  *************************
      upload file:success
      upload file size:7(byte)
      upload time consuming:171(ms)
      (only the time consumed by probe command)
      
      upload object is example.txt
      
      ************************* report log info*************************
      report log file:/root/logOssProbe20201201174126.log

通過檔案URL下載檔案並輸出探測報告

ossutil通過使用檔案URL下載目標檔案到本地的方式探測本地和目標Bucket之間的網路狀態。

  • 命令格式

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

    參數說明如下:

    參數

    是否必選

    說明

    --download

    指定探測方式為下載探測。

    --url

    填寫檔案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

    增加此項並填寫正確的網路地址,ossutil會通過ping操作驗證本地到目標地址的網路連通性。

    預設值:www.aliyun.com

    file_name

    設定檔案下載到本地後的儲存路徑。

    • 僅指定檔案名稱,未指定目錄:ossutil會將檔案按指定名稱儲存到ossutil的安裝目錄。

    • 僅指定目錄,未指定檔案名稱:ossutil會將檔案按原名稱儲存到指定目錄。

    • 置空此項:ossutil會將檔案按原名稱儲存到ossutil的安裝目錄。

  • 使用樣本

    • 通過檔案URL下載目標檔案並重新命名

      檔案URL為https://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:57374182(byte)
      download time consuming:1246(ms)
      (only the time consumed by probe command)
      
      download file is /localfile/test.txt
      
      ************************* report log info*************************
      report log file:/root/logOssProbe20201202171639.log
                                      
    • 通過檔案URL下載目標檔案並指定ping操作的目標地址

      檔案URL為https://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:57374182(byte)
      download time consuming:1344(ms)
      (only the time consumed by probe command)
      
      download file is /root/example.txt
      
      ************************* report log info*************************
      report log file:/root/logOssProbe20201202172232.log                                

直接下載指定檔案並輸出探測報告

ossutil通過直接下載目標Bucket中的檔案到本地的方式探測本地和目標Bucket之間的網路狀態。

  • 命令格式

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

    參數說明如下:

    參數

    是否必選

    說明

    --download

    指定探測方式為下載探測。

    --bucketname

    目標Bucket名稱。

    --object

    增加此項並指定檔案名稱,ossutil會將指定檔案下載到本地;置空此項,ossutil會產生一個臨時檔案上傳到目標Bucket後再將其下載,探測結束後會將該臨時檔案從目標Bucket中刪除。

    --addr

    增加此項並填寫正確的網路地址,ossutil會通過ping操作驗證本地到目標地址的網路連通性。

    預設值:www.aliyun.com

    file_name

    設定檔案下載到本地後的儲存路徑。

    • 僅指定檔案名稱,未指定目錄:ossutil會將檔案按指定名稱儲存到ossutil的安裝目錄。

    • 僅指定目錄,未指定檔案名稱:ossutil會將檔案按原名稱儲存到指定目錄。

    • 置空此項:ossutil會將檔案按原名稱儲存到ossutil的安裝目錄。

  • 使用樣本

    • 下載指定檔案並重新命名

      將名為examplebucket的Bucket中的檔案/ossfolder/example.txt下載到本地後重新命名為/localfolder/text.txt

      ossutil probe --download --bucketname 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:57374182(byte)
      download time consuming:1108(ms)
      (only the time consumed by probe command)
      
      download file is /localfolder/text.txt
      
      ************************* report log info*************************
      report log file:/root/logOssProbe20201202173032.log
    • 下載臨時檔案並指定ping操作的目標地址

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

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

      輸出如下:

      begin parse parameters and prepare object...[✓]
      begin network detection...[✓]
      begin download file...[✓]
      
      *************************  download result  *************************
      download file:success
      download file size:122880(byte)
      download time consuming:516(ms)
      (only the time consumed by probe command)
      
      download file is /root/oss-test-probe-1606902911701892000-3ifwj9t0ln
      
      ************************* report log info*************************
      report log file:/root/logOssProbe20201202173512.log

指定專案探測

ossutil可通過指定探測專案的方式探測本地軟連結檔案狀態、上傳和下載頻寬,並根據結果給出異常軟連結的名稱、上傳下載並發數建議。

  • 命令格式

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

    參數說明如下:

    參數

    是否必選

    說明

    --probe-item

    指定探測專案。

    取值:

    • cycle-symlink:探測本地是否存在異常軟連結。

    • upload-speed:探測上傳頻寬。

    • download-speed:探測下載頻寬。

    • download-time:探測下載時間。

    --bucketname

    --probe-item取值不為cycle-symlink時必選

    目標Bucket名稱。

    --object

    --probe-item取值為download-speed時必選

    填寫目標檔案的訪問路徑。目標檔案需真實存在且建議大於5 MB。例如ossfolder/example.txt

    --parallel

    單檔案操作時的並發任務數,預設值為1。

    說明

    僅當--probe-item取值為download-time時生效。

    --part-size

    設定分區大小,單位為位元組。預設情況下ossutil會根據檔案大小自行計算合適的分區大小值。

    取值範圍:1~9223372036854775807

    說明

    僅當--probe-item取值為download-time時生效。

    --runtime

    設定已耗用時間。超過此時間,運行取消。

    說明

    僅當--probe-item取值為upload-speeddownload-speed時生效。

  • 使用樣本

    • 探測本地根目錄下localfolder目錄是否存在異常軟連結

      命令如下:

      ossutil probe --probe-item cycle-symlink /root/localfolder

      輸出如下:

      Error: stat /root/localfolder/example.jpg: no such file or directory

      輸出內容表示example.jpg為異常軟連結。

    • 探測上傳頻寬

      上傳一個臨時檔案到examplebucket,並根據當前裝置的硬體設定及上傳頻寬給出上傳並發數的配置建議。

      命令如下:

      ossutil probe --probe-item upload-speed --bucketname examplebucket

      輸出如下:

      cpu core count:2
      parallel:2,average speed:679.72(KB/s),current speed:1344.00(KB/s),max speed:1440.00(KB/s))
      parallel:3,average speed:643.31(KB/s),current speed:704.00(KB/s),max speed:1632.00(KB/s))
      parallel:4,average speed:646.62(KB/s),current speed:512.00(KB/s),max speed:1600.00(KB/s))
      
      suggest parallel is 2, max average speed is 679.72(KB/s)

      輸出內容表示裝置CPU為雙核,上傳最大平均頻寬為679.72 KB/s,建議上傳並發數設定為2。

    • 探測下載頻寬

      將examplebucket中的檔案example.txt下載到本地,並根據當前裝置的硬體設定及下載頻寬給出下載並發數的配置建議。

      命令如下:

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

      輸出如下:

      cpu core count:2
      parallel:2,average speed:12524.93(KB/s),current speed:12288.63(KB/s),max speed:14302.25(KB/s)
      parallel:3,average speed:12564.45(KB/s),current speed:12144.39(KB/s),max speed:14484.24(KB/s)
      parallel:4,average speed:12545.21(KB/s),current speed:12766.58(KB/s),max speed:13534.42(KB/s)
      
      suggest parallel is 3, max average speed is 12564.45(KB/s)

      輸出內容表示裝置CPU為雙核,下載最大平均頻寬為12564.45 KB/s,建議下載並發數設定為3。

    • 探測下載頻寬並設定運行時時間

      將examplebucket中的檔案example.zip下載到本地,並根據當前裝置的硬體設定及下載頻寬給出下載並發數的配置建議,同時設定已耗用時間。

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

      輸出如下:

      cpu core count:8
      parallel:8,average speed:10610.66(KB/s),current speed:11245.14(KB/s),max speed:11470.41(KB/s)
      parallel:9,average speed:9915.97(KB/s),current speed:10763.22(KB/s),max speed:11401.97(KB/s))
      parallel:10,average speed:9969.66(KB/s),current speed:11213.43(KB/s),max speed:11384.52(KB/s))
      parallel:11,average speed:10298.34(KB/s),current speed:10522.27(KB/s),max speed:11282.21(KB/s)
      parallel:12,average speed:10454.31(KB/s),current speed:9725.25(KB/s),max speed:11426.21(KB/s))
      parallel:13,average speed:9531.86(KB/s),current speed:8634.53(KB/s),max speed:11220.90(KB/s)))
      parallel:14,average speed:9329.45(KB/s),current speed:8542.94(KB/s),max speed:10505.16(KB/s))
      parallel:15,average speed:10193.00(KB/s),current speed:10770.35(KB/s),max speed:10971.39(KB/s)
      parallel:16,average speed:10637.59(KB/s),current speed:10483.77(KB/s),max speed:11179.55(KB/s)
      
      suggest parallel is 16, max average speed is 10637.59(KB/s)
      
      run download-speed  2 seconds with parallel 16
      parallel:16,average speed:9197.00(KB/s),current speed:9849.30(KB/s),max speed:9849.30(KB/s)
      280.345640(s) elapsed
    • 探測下載時間

      將examplebucket中的檔案example.txt下載到本地,並探測下載時間。

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

      輸出如下:

      downloading average speed:6178.75(KB/s),current speed:14446.02(KB/s),max speed:14446.02(KB/s)
      download-speed part-size:-1, parallel:1 total bytes:31707929, cost:4.918 s, avg speed:7741.00(kB/s)
      
      5.206202(s) elapsed
    • 探測下載時間並設定分區大小

      將examplebucket中的檔案example.zip下載到本地,探測下載時間,並設定分區大小。

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

      輸出如下:

      downloading average speed:9229.00(KB/s),current speed:18458.57(KB/s),max speed:18458.57(KB/s)
      download-speed part-size:10000000, parallel:1 total bytes:31707929, cost:3.230 s, avg speed:10321.33(kB/s)
      
      3.569254(s) elapsed
    • 探測下載時間並設定並發大小

      將examplebucket中的檔案example.zip下載到本地,探測下載時間,並設定並發大小。

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

      輸出如下:

      downloading average speed:9155.00(KB/s),current speed:18310.68(KB/s),max speed:18310.68(KB/s)
      download-speed part-size:-1, parallel:3 total bytes:31707929, cost:3.121 s, avg speed:10321.33(kB/s)
      
      3.424191(s) elapsed