probe(探測(cè)狀態(tài))
probe命令是針對(duì)OSS訪問的探測(cè)命令,可用于排查本地與OSS之間的網(wǎng)絡(luò)狀態(tài)、上傳下載帶寬、本地符號(hào)鏈接(軟鏈接)狀態(tài)等。
注意事項(xiàng)
要探測(cè)上傳帶寬,您必須具有
oss:GetObject
、oss:PutObject
和oss:DeleteObject
權(quán)限;要探測(cè)下載帶寬,您必須具有oss:GetObject
權(quán)限。具體操作,請(qǐng)參見為RAM用戶授權(quán)自定義的權(quán)限策略。從ossutil 1.6.16版本開始,命令行中Binary名稱支持直接使用ossutil,您無需根據(jù)系統(tǒng)刷新Binary名稱。如果您的ossutil版本低于1.6.16,則需要根據(jù)系統(tǒng)刷新Binary名稱。更多信息,請(qǐng)參見命令行工具ossutil命令參考。
使用說明
當(dāng)您需要了解本地與OSS之間的網(wǎng)絡(luò)異常、查看上傳下載帶寬、上傳大量軟鏈接文件時(shí),都可以使用probe進(jìn)行探測(cè)。
探測(cè)網(wǎng)絡(luò)異常
ossutil通過上傳或下載的方式探測(cè)本地與OSS之間的網(wǎng)絡(luò)狀況。如果您在探測(cè)的同時(shí)需要將指定文件上傳或下載到指定位置,建議您使用實(shí)際的文件進(jìn)行上傳下載探測(cè);若您僅需要探測(cè)網(wǎng)絡(luò)異常,可以在上傳或下載探測(cè)時(shí)不添加文件名,ossutil會(huì)使用臨時(shí)文件進(jìn)行探測(cè),并在探測(cè)結(jié)束后刪除這些文件。
查看上傳下載帶寬
探測(cè)上傳下載帶寬時(shí),OSS會(huì)根據(jù)您的設(shè)備CPU及您的帶寬給出一個(gè)上傳下載的并發(fā)建議值。您可以按照ossutil的建議設(shè)置并發(fā),以最大限度地利用您的帶寬。
探測(cè)本地軟鏈接狀態(tài)
當(dāng)您上傳大量軟鏈接文件時(shí),若某個(gè)鏈接出現(xiàn)異常會(huì)導(dǎo)致上傳中斷。建議您在上傳前,先探測(cè)本地軟鏈接文件是否存在異常。若存在異常,請(qǐng)修復(fù)異常文件后再進(jìn)行批量上傳。
probe命令運(yùn)行后,您可以查看到任務(wù)執(zhí)行的步驟及結(jié)果。
上傳和下載探測(cè)
執(zhí)行步驟出現(xiàn)?表示本項(xiàng)檢測(cè)通過,×表示未通過。
若探測(cè)成功,ossutil會(huì)給出文件的大小、上傳下載時(shí)間、文件路徑等信息。
若探測(cè)失敗,ossutil會(huì)給出導(dǎo)致錯(cuò)誤的原因或錯(cuò)誤碼,您可以根據(jù)提示排查問題原因。
關(guān)于錯(cuò)誤碼的介紹,請(qǐng)參見錯(cuò)誤碼概述。
探測(cè)結(jié)束后會(huì)在ossutil的安裝目錄生成一個(gè)格式為
logOssProbe+探測(cè)結(jié)束時(shí)間.log
的日志文件,里面包含此次probe命令執(zhí)行的詳細(xì)信息。
指定項(xiàng)目探測(cè)
探測(cè)上傳下載帶寬、本地軟鏈接狀態(tài)時(shí),ossutil會(huì)直接給出探測(cè)結(jié)果和可能的建議。
上傳文件并輸出探測(cè)報(bào)告
ossutil上傳文件到目標(biāo)存儲(chǔ)空間(Bucket)的方式探測(cè)本地和目標(biāo)Bucket之間的網(wǎng)絡(luò)狀態(tài)。
命令格式
ossutil probe {--upload [file_name]} {--bucketname bucket_name} [--object object_name] [--addr domain_name] [--upmode]
參數(shù)說明如下:
參數(shù)
是否必選
說明
--upload
是
指定探測(cè)方式為上傳探測(cè)。
file_name
否
填寫要上傳至目標(biāo)Bucket的本地文件完整路徑;置空此項(xiàng)時(shí),ossutil會(huì)生成一個(gè)臨時(shí)文件進(jìn)行上傳探測(cè)。
--bucketname
否
目標(biāo)Bucket名稱。
--object
否
增加此項(xiàng)并指定文件名稱,ossutil會(huì)將上傳文件按指定名稱保存在Bucket中;若不增加此項(xiàng),ossutil會(huì)在探測(cè)結(jié)束后刪除上傳的文件。
--addr
否
增加此項(xiàng)并填寫正確的網(wǎng)絡(luò)地址,ossutil會(huì)通過ping操作驗(yàn)證本地到目標(biāo)地址的網(wǎng)絡(luò)連通性。
默認(rèn)值:
www.aliyun.com
--upmode
否
指定文件的上傳方式。
取值:
normal(默認(rèn)值):簡(jiǎn)單上傳
append:追加上傳
multipart:分片上傳
使用示例
上傳隨機(jī)文件并指定ping操作的目標(biāo)地址
上傳的目標(biāo)Bucket名為examplebucket,ping操作的目標(biāo)網(wǎng)絡(luò)地址為
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
使用默認(rèn)上傳方式上傳指定文件,并在探測(cè)結(jié)束后刪除該文件
將本地根目錄下的文件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
使用追加上傳方式上傳指定文件,并在探測(cè)結(jié)束后保留該文件
將本地根目錄下的文件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下載文件并輸出探測(cè)報(bào)告
ossutil通過使用文件URL下載目標(biāo)文件到本地的方式探測(cè)本地和目標(biāo)Bucket之間的網(wǎng)絡(luò)狀態(tài)。
命令格式
ossutil probe {--download} {--url http_url} [--addr=domain_name] [file_name]
參數(shù)說明如下:
參數(shù)
是否必選
說明
--download
是
指定探測(cè)方式為下載探測(cè)。
--url
是
填寫文件URL,ossutil會(huì)將URL對(duì)應(yīng)的文件下載到本地。
公共讀文件:直接填寫文件URL。例如
https://examplebucket.oss-cn-beijing.aliyuncs.com/example.jpg
。私有文件:填寫帶簽名的文件URL,URL需使用雙引號(hào)(“”)包裹。例如
“https://examplebucket.oss-cn-beijing.aliyuncs.com/example.jpg?Expires=1552015472&OSSAccessKeyId=TMP.******5r9f1FV12y8_Qis6LUVmvoSCUSs7aboCCHtydQ0axN32Sn-UvyY3AAAwLAIUarYNLcO87AKMEcE5O3A******oCFAQuRdZYyVFyqOW8QkGAN-bamUiQ&Signature=bIa4llbMbldrl7rwckr%2FXXvTtxw%3D”
。
--addr
否
增加此項(xiàng)并填寫正確的網(wǎng)絡(luò)地址,ossutil會(huì)通過ping操作驗(yàn)證本地到目標(biāo)地址的網(wǎng)絡(luò)連通性。
默認(rèn)值:
www.aliyun.com
file_name
否
設(shè)置文件下載到本地后的保存路徑。
僅指定文件名,未指定目錄:ossutil會(huì)將文件按指定名稱保存到ossutil的安裝目錄。
僅指定目錄,未指定文件名:ossutil會(huì)將文件按原名稱保存到指定目錄。
置空此項(xiàng):ossutil會(huì)將文件按原名稱保存到ossutil的安裝目錄。
使用示例
通過文件URL下載目標(biāo)文件并重命名
文件URL為
https://examplebucket.oss-cn-beijing.aliyuncs.com/example.txt
,指向examplebucket中一個(gè)公共讀文件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下載目標(biāo)文件并指定ping操作的目標(biāo)地址
文件URL為
https://examplebucket.oss-cn-beijing.aliyuncs.com/example.txt
,指向examplebucket中一個(gè)公共讀文件example.txt
,ping操作的目標(biāo)地址為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
直接下載指定文件并輸出探測(cè)報(bào)告
ossutil通過直接下載目標(biāo)Bucket中的文件到本地的方式探測(cè)本地和目標(biāo)Bucket之間的網(wǎng)絡(luò)狀態(tài)。
命令格式
ossutil probe {--download} {--bucketname bucket_name} [--object object_name] [--addr domain_name] [file_name]
參數(shù)說明如下:
參數(shù)
是否必選
說明
--download
是
指定探測(cè)方式為下載探測(cè)。
--bucketname
是
目標(biāo)Bucket名稱。
--object
否
增加此項(xiàng)并指定文件名稱,ossutil會(huì)將指定文件下載到本地;置空此項(xiàng),ossutil會(huì)生成一個(gè)臨時(shí)文件上傳到目標(biāo)Bucket后再將其下載,探測(cè)結(jié)束后會(huì)將該臨時(shí)文件從目標(biāo)Bucket中刪除。
--addr
否
增加此項(xiàng)并填寫正確的網(wǎng)絡(luò)地址,ossutil會(huì)通過ping操作驗(yàn)證本地到目標(biāo)地址的網(wǎng)絡(luò)連通性。
默認(rèn)值:
www.aliyun.com
file_name
否
設(shè)置文件下載到本地后的保存路徑。
僅指定文件名,未指定目錄:ossutil會(huì)將文件按指定名稱保存到ossutil的安裝目錄。
僅指定目錄,未指定文件名:ossutil會(huì)將文件按原名稱保存到指定目錄。
置空此項(xiàng):ossutil會(huì)將文件按原名稱保存到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
下載臨時(shí)文件并指定ping操作的目標(biāo)地址
目標(biāo)Bucket名為examplebucket,ping操作的目標(biāo)地址為
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
指定項(xiàng)目探測(cè)
ossutil可通過指定探測(cè)項(xiàng)目的方式探測(cè)本地軟鏈接文件狀態(tài)、上傳和下載帶寬,并根據(jù)結(jié)果給出異常軟鏈接的名稱、上傳下載并發(fā)數(shù)建議。
命令格式
ossutil probe {--probe-item item_value} {--bucketname bucket-name} [--object object_name][--parallel <value>][--part-size <value>][--runtime <value>]
參數(shù)說明如下:
參數(shù)
是否必選
說明
--probe-item
是
指定探測(cè)項(xiàng)目。
取值:
cycle-symlink:探測(cè)本地是否存在異常軟鏈接。
upload-speed:探測(cè)上傳帶寬。
download-speed:探測(cè)下載帶寬。
download-time:探測(cè)下載時(shí)間。
--bucketname
當(dāng)--probe-item取值不為
cycle-symlink
時(shí)必選目標(biāo)Bucket名稱。
--object
當(dāng)--probe-item取值為
download-speed
時(shí)必選填寫目標(biāo)文件的訪問路徑。目標(biāo)文件需真實(shí)存在且建議大于5 MB。例如
ossfolder/example.txt
。--parallel
否
單文件操作時(shí)的并發(fā)任務(wù)數(shù),默認(rèn)值為1。
說明僅當(dāng)--probe-item取值為
download-time
時(shí)生效。--part-size
否
設(shè)置分片大小,單位為字節(jié)。默認(rèn)情況下ossutil會(huì)根據(jù)文件大小自行計(jì)算合適的分片大小值。
取值范圍:1~9223372036854775807
說明僅當(dāng)--probe-item取值為
download-time
時(shí)生效。--runtime
否
設(shè)置運(yùn)行時(shí)間。超過此時(shí)間,運(yùn)行取消。
說明僅當(dāng)--probe-item取值為
upload-speed
或download-speed
時(shí)生效。使用示例
探測(cè)本地根目錄下localfolder目錄是否存在異常軟鏈接
命令如下:
ossutil probe --probe-item cycle-symlink /root/localfolder
輸出如下:
Error: stat /root/localfolder/example.jpg: no such file or directory
輸出內(nèi)容表示example.jpg為異常軟鏈接。
探測(cè)上傳帶寬
上傳一個(gè)臨時(shí)文件到examplebucket,并根據(jù)當(dāng)前設(shè)備的硬件配置及上傳帶寬給出上傳并發(fā)數(shù)的配置建議。
命令如下:
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)
輸出內(nèi)容表示設(shè)備CPU為雙核,上傳最大平均帶寬為679.72 KB/s,建議上傳并發(fā)數(shù)設(shè)置為2。
探測(cè)下載帶寬
將examplebucket中的文件
example.txt
下載到本地,并根據(jù)當(dāng)前設(shè)備的硬件配置及下載帶寬給出下載并發(fā)數(shù)的配置建議。命令如下:
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)
輸出內(nèi)容表示設(shè)備CPU為雙核,下載最大平均帶寬為12564.45 KB/s,建議下載并發(fā)數(shù)設(shè)置為3。
探測(cè)下載帶寬并設(shè)置運(yùn)行時(shí)時(shí)間
將examplebucket中的文件
example.zip
下載到本地,并根據(jù)當(dāng)前設(shè)備的硬件配置及下載帶寬給出下載并發(fā)數(shù)的配置建議,同時(shí)設(shè)置運(yùn)行時(shí)間。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
探測(cè)下載時(shí)間
將examplebucket中的文件
example.txt
下載到本地,并探測(cè)下載時(shí)間。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
探測(cè)下載時(shí)間并設(shè)置分片大小
將examplebucket中的文件
example.zip
下載到本地,探測(cè)下載時(shí)間,并設(shè)置分片大小。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
探測(cè)下載時(shí)間并設(shè)置并發(fā)大小
將examplebucket中的文件
example.zip
下載到本地,探測(cè)下載時(shí)間,并設(shè)置并發(fā)大小。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