probe命令是針對OSS訪問的探測命令,可用於排查本地與OSS之間的網路狀態、上傳下載頻寬、本地符號連結(軟連結)狀態等。
注意事項
要探測上傳頻寬,您必須具有
oss:GetObject
、oss:PutObject
和oss: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-speed
或download-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