probe命令是針對OSS訪問的探測命令,可用于排查本地與OSS之間的網絡狀態、上傳下載帶寬、本地符號鏈接(軟鏈接)狀態等。
注意事項
要探測上傳帶寬,您必須具有oss:GetObject
、oss:PutObject
和oss: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上傳到名為examplebucket的Bucket。命令如下:
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下載目標文件并重命名
文件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: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操作的目標地址
文件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: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的安裝目錄。
使用示例
下載指定文件并重命名
將名為examplebucket的Bucket中的文件
/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-speed
或download-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)
輸出內容表示設備CPU為8核,上傳最大平均帶寬為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)
輸出內容表示設備CPU為8核,下載最大平均帶寬為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