欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種磁盤壓力測(cè)試方法及裝置的制造方法

文檔序號(hào):10552798閱讀:445來(lái)源:國(guó)知局
一種磁盤壓力測(cè)試方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種磁盤壓力測(cè)試方法及裝置,該方法包括:首先獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí);以及根據(jù)獲取到的標(biāo)識(shí)以及預(yù)先設(shè)置好的磁盤壓力測(cè)試程序,編輯該磁盤壓力測(cè)試程序中的磁盤列表;然后,啟動(dòng)與該磁盤列表相對(duì)應(yīng)的多個(gè)線程,并利用該多個(gè)線程執(zhí)行所述磁盤壓力測(cè)試程序。通過(guò)多線程同時(shí)運(yùn)行磁盤壓力測(cè)試程序,可以實(shí)現(xiàn)多個(gè)磁盤的多盤位并發(fā)壓力測(cè)試,因此,本方案能夠提高服務(wù)器磁盤壓力測(cè)試的效率。
【專利說(shuō)明】
一種磁盤壓力測(cè)試方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種磁盤壓力測(cè)試方法及裝置。
【背景技術(shù)】
[0002] 隨著磁盤技術(shù)的不斷發(fā)展,為了滿足服務(wù)器數(shù)據(jù)存儲(chǔ)空間的日益增長(zhǎng),單個(gè)磁盤 的容量變得越來(lái)越大。此外,隨著訪問(wèn)服務(wù)器的用戶越來(lái)越多,業(yè)務(wù)軟件的讀寫操作愈加頻 繁,故對(duì)磁盤的壓力也就越大,磁盤陣列的整體I/O性能也受到影響。通過(guò)對(duì)服務(wù)器磁盤進(jìn) 行壓力測(cè)試,能夠使存在故障隱患的磁盤快速表現(xiàn)出故障問(wèn)題。
[0003] 目前,可以通過(guò)對(duì)待測(cè)試磁盤反復(fù)進(jìn)行數(shù)據(jù)讀寫操作,以使異常磁盤在此壓力環(huán) 境下表現(xiàn)出故障問(wèn)題,從而完成磁盤壓力測(cè)試操作。
[0004] 由于現(xiàn)有的磁盤壓力測(cè)試方法是對(duì)單塊待測(cè)試磁盤進(jìn)行壓力測(cè)試,故測(cè)試效率較 低。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明提供了一種磁盤壓力測(cè)試方法及裝置,能夠提高服務(wù)器磁盤壓力測(cè)試的效 率。
[0006] 為了達(dá)到上述目的,本發(fā)明是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
[0007] 一方面,本發(fā)明提供了一種磁盤壓力測(cè)試方法,預(yù)先設(shè)置磁盤壓力測(cè)試程序,還包 括:
[0008] 獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí);
[0009] 根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程序中的磁盤列表;
[0010] 啟動(dòng)與所述磁盤列表相對(duì)應(yīng)的多個(gè)線程;
[0011] 利用所述多個(gè)線程,執(zhí)行所述磁盤壓力測(cè)試程序。
[0012] 進(jìn)一步地,所述執(zhí)行所述磁盤壓力測(cè)試程序,包括:
[0013] S1:利用for并發(fā)語(yǔ)句,分別讀取所述磁盤列表中的每一個(gè)所述標(biāo)識(shí);
[0014] S2:利用test()函數(shù),針對(duì)與每一個(gè)所述標(biāo)識(shí)相對(duì)應(yīng)的待測(cè)試磁盤均執(zhí)行:向所述 待測(cè)試磁盤中讀寫固定block大小和數(shù)量的塊數(shù)據(jù);
[0015] S3:利用while循環(huán)語(yǔ)句,再次執(zhí)行S2。
[0016] 進(jìn)一步地,所述根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程序中的磁盤列表,包括: 根據(jù)獲取到的每一個(gè)待測(cè)試磁盤的盤符,將所述磁盤壓力測(cè)試程序中的磁盤列表編輯為 1 ist =(盤符1盤符2…盤符n),且每一個(gè)所述盤符之間用空格隔開。
[0017] 進(jìn)一步地,在所述執(zhí)行所述磁盤壓力測(cè)試程序之后,進(jìn)一步包括:生成與每一個(gè)所 述待測(cè)試磁盤相對(duì)應(yīng)的磁盤壓力測(cè)試報(bào)告;
[0018] 所述磁盤壓力測(cè)試報(bào)告,包括:單次測(cè)試的壓力大小、單詞測(cè)試所用時(shí)間和磁盤讀 寫速度中的任意一種或多種。
[0019] 進(jìn)一步地,在所述執(zhí)行所述磁盤壓力測(cè)試程序之前,進(jìn)一步包括:對(duì)所述磁盤壓力 測(cè)試程序賦予相應(yīng)的可執(zhí)行權(quán)限:#chmod 777DiskTest。
[0020] 另一方面,本發(fā)明提供了一種磁盤壓力測(cè)試裝置,包括:
[0021] 設(shè)置單元,用于設(shè)置磁盤壓力測(cè)試程序;
[0022] 獲取單元,用于獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí);
[0023] 編輯單元,用于根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程序中的磁盤列表;
[0024]處理單元,用于啟動(dòng)與所述磁盤列表相對(duì)應(yīng)的多個(gè)線程;以及利用所述多個(gè)線程, 執(zhí)行所述磁盤壓力測(cè)試程序。
[0025] 進(jìn)一步地,所述處理單元,具體用于利用for并發(fā)語(yǔ)句,分別讀取所述磁盤列表中 的每一個(gè)所述標(biāo)識(shí);利用test 〇函數(shù),針對(duì)與每一個(gè)所述標(biāo)識(shí)相對(duì)應(yīng)的待測(cè)試磁盤均執(zhí)行: 向所述待測(cè)試磁盤中讀寫固定block大小和數(shù)量的塊數(shù)據(jù);利用while循環(huán)語(yǔ)句,循環(huán)執(zhí)行 所述讀寫操作。
[0026] 進(jìn)一步地,所述編輯單元,具體用于根據(jù)獲取到的每一個(gè)待測(cè)試磁盤的盤符,將所 述磁盤壓力測(cè)試程序中的磁盤列表編輯為1 i st =(盤符1盤符2…盤符n ),且每一個(gè)所述盤 符之間用空格隔開。
[0027] 進(jìn)一步地,該裝置還包括:報(bào)告生成單元,用于生成與每一個(gè)所述待測(cè)試磁盤相對(duì) 應(yīng)的磁盤壓力測(cè)試報(bào)告;
[0028]所述磁盤壓力測(cè)試報(bào)告,包括:單次測(cè)試的壓力大小、單詞測(cè)試所用時(shí)間和磁盤讀 寫速度中的任意一種或多種。
[0029] 進(jìn)一步地,該裝置還包括:權(quán)限賦予單元,用于對(duì)所述磁盤壓力測(cè)試程序賦予相應(yīng) 的可執(zhí)行權(quán)限:#chmod 777DiskTest。
[0030] 本發(fā)明提供了一種磁盤壓力測(cè)試方法及裝置,首先獲取每一個(gè)待測(cè)試磁盤的標(biāo) 識(shí);以及根據(jù)獲取到的標(biāo)識(shí)以及預(yù)先設(shè)置好的磁盤壓力測(cè)試程序,編輯該磁盤壓力測(cè)試程 序中的磁盤列表;然后,啟動(dòng)與該磁盤列表相對(duì)應(yīng)的多個(gè)線程,并利用該多個(gè)線程執(zhí)行所述 磁盤壓力測(cè)試程序。通過(guò)多線程同時(shí)運(yùn)行磁盤壓力測(cè)試程序,可以實(shí)現(xiàn)多個(gè)磁盤的多盤位 并發(fā)壓力測(cè)試,因此,本發(fā)明能夠提高服務(wù)器磁盤壓力測(cè)試的效率。
【附圖說(shuō)明】
[0031] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明 的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù) 這些附圖獲得其他的附圖。
[0032] 圖1是本發(fā)明一實(shí)施例提供的一種磁盤壓力測(cè)試方法的流程圖;
[0033] 圖2是本發(fā)明一實(shí)施例提供的另一種磁盤壓力測(cè)試方法的流程圖;
[0034] 圖3是本發(fā)明一實(shí)施例提供的一種磁盤壓力測(cè)試裝置的示意圖;
[0035] 圖4是本發(fā)明一實(shí)施例提供的另一種磁盤壓力測(cè)試裝置的示意圖。
【具體實(shí)施方式】
[0036]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。 [0037]如圖1所示,本發(fā)明實(shí)施例提供了一種磁盤壓力測(cè)試方法,可以包括以下步驟: [0038]步驟101:預(yù)先設(shè)置磁盤壓力測(cè)試程序。
[0039] 步驟102:獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí)。
[0040] 步驟103:根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程序中的磁盤列表。
[0041 ]步驟104:啟動(dòng)與所述磁盤列表相對(duì)應(yīng)的多個(gè)線程。
[0042] 步驟105:利用所述多個(gè)線程,執(zhí)行所述磁盤壓力測(cè)試程序。
[0043] 本發(fā)明實(shí)施例提供了一種磁盤壓力測(cè)試方法,首先獲取每一個(gè)待測(cè)試磁盤的標(biāo) 識(shí);以及根據(jù)獲取到的標(biāo)識(shí)以及預(yù)先設(shè)置好的磁盤壓力測(cè)試程序,編輯該磁盤壓力測(cè)試程 序中的磁盤列表;然后,啟動(dòng)與該磁盤列表相對(duì)應(yīng)的多個(gè)線程,并利用該多個(gè)線程執(zhí)行所述 磁盤壓力測(cè)試程序。通過(guò)多線程同時(shí)運(yùn)行磁盤壓力測(cè)試程序,可以實(shí)現(xiàn)多個(gè)磁盤的多盤位 并發(fā)壓力測(cè)試,因此,本發(fā)明實(shí)施例能夠提高服務(wù)器磁盤壓力測(cè)試的效率。
[0044] 在一種可能的實(shí)現(xiàn)方式中,為了說(shuō)明一種磁盤壓力測(cè)試過(guò)程,以實(shí)現(xiàn)多磁盤并發(fā) 壓力循環(huán)測(cè)試,所以,所述執(zhí)行所述磁盤壓力測(cè)試程序,包括:
[0045] 步驟1051:利用for并發(fā)語(yǔ)句,分別讀取所述磁盤列表中的每一個(gè)所述標(biāo)識(shí);
[0046] 步驟1052:利用test()函數(shù),針對(duì)與每一個(gè)所述標(biāo)識(shí)相對(duì)應(yīng)的待測(cè)試磁盤均執(zhí)行: 向所述待測(cè)試磁盤中讀寫固定block大小和數(shù)量的塊數(shù)據(jù);
[0047] 步驟1053:利用while循環(huán)語(yǔ)句,再次執(zhí)行步驟1052。
[0048] 在一種可能的實(shí)現(xiàn)方式中,為了說(shuō)明一種磁盤列表編輯方式,以便于系統(tǒng)能夠快 速、準(zhǔn)確的獲取到待測(cè)試磁盤的盤符,所以,所述根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程 序中的磁盤列表,包括:根據(jù)獲取到的每一個(gè)待測(cè)試磁盤的盤符,將所述磁盤壓力測(cè)試程序 中的磁盤列表編輯為1 ist =(盤符1盤符2…盤符n),且每一個(gè)所述盤符之間用空格隔開。
[0049] 在一種可能的實(shí)現(xiàn)方式中,為了能夠查看和分析磁盤壓力測(cè)試的結(jié)果,以便于準(zhǔn) 確確定故障磁盤,所以,在所述執(zhí)行所述磁盤壓力測(cè)試程序之后,進(jìn)一步包括:生成與每一 個(gè)所述待測(cè)試磁盤相對(duì)應(yīng)的磁盤壓力測(cè)試報(bào)告;
[0050] 所述磁盤壓力測(cè)試報(bào)告,包括:單次測(cè)試的壓力大小、單詞測(cè)試所用時(shí)間和磁盤讀 寫速度中的任意一種或多種。
[0051] 在一種可能的實(shí)現(xiàn)方式中,為了保證磁盤壓力測(cè)試程序能夠順利執(zhí)行,所以,在所 述執(zhí)行所述磁盤壓力測(cè)試程序之前,進(jìn)一步包括:對(duì)所述磁盤壓力測(cè)試程序賦予相應(yīng)的可 執(zhí)行權(quán)限:#chmod 777DiskTest。
[0052] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對(duì)本 發(fā)明作進(jìn)一步地詳細(xì)描述。
[0053]如圖2所示,本發(fā)明一個(gè)實(shí)施例提供了磁盤壓力測(cè)試方法,該方法可以包括以下步 驟:
[0054]步驟201:確定磁盤壓力測(cè)試程序。
[0055]舉例來(lái)說(shuō),現(xiàn)將一臺(tái)Linux服務(wù)器中安裝5塊待測(cè)試磁盤,以通過(guò)對(duì)該5塊磁盤進(jìn)行 并發(fā)壓力測(cè)試,從而確定該5塊磁盤是否為故障磁盤,或檢驗(yàn)該5塊磁盤是否會(huì)在高壓并發(fā) 測(cè)試條件下出現(xiàn)異常。為實(shí)現(xiàn)多個(gè)磁盤的并發(fā)循環(huán)壓力測(cè)試,首先需要確定磁盤壓力測(cè)試 程序。
[0056]詳細(xì)地,可以預(yù)先設(shè)置一個(gè)磁盤壓力測(cè)試程序,并將程序內(nèi)容保存為一個(gè)腳本文 件并進(jìn)行命名,如命名為DiskTest。然后,可以將該腳本文件復(fù)制到該Linux服務(wù)器中的任 一目錄位置,如/root目錄。
[0057]舉例來(lái)說(shuō),該磁盤壓力測(cè)試程序的代碼程序可以如下所示:
[0058] #!/bin/bash
[0059] list = (b c)
[0060] function test(){
[0061] while[[1 ]]
[0062] do
[0063] dd if = /dev/zero of = /dev/sd$lbs = lM count = 1000 2>>report. txt
[0064] done
[0065] }
[0066] for device in${list[i]}
[0067] do
[0068] test$device&
[0069] done
[0070] 在本實(shí)施例所提供的該代碼程序中,首先,for并發(fā)語(yǔ)句可以從list數(shù)組中逐個(gè)提 取盤符,如for device in${list[0]};然后,可以調(diào)用test〇函數(shù)逐個(gè)生成壓力測(cè)試過(guò)程, 如test$device&,其中,device可以用來(lái)表示待測(cè)試磁盤的盤符,&可以使測(cè)試過(guò)程在后臺(tái) 運(yùn)行;之后,test ()函數(shù)中的whi le循環(huán)語(yǔ)句可以使所有待測(cè)試磁盤的并發(fā)壓力循環(huán)持續(xù)進(jìn) 行。
[0071] 在本實(shí)施例中,通過(guò)執(zhí)行設(shè)定的磁盤壓力測(cè)試程序,可以同時(shí)對(duì)多個(gè)磁盤進(jìn)行高 壓并發(fā)循環(huán)壓力測(cè)試。與單塊磁盤壓力測(cè)試相比,本實(shí)施例所提供的壓力測(cè)試方法的測(cè)試 壓力更高、測(cè)試環(huán)境復(fù)雜,因此更容易使存在故障隱患的磁盤快速表現(xiàn)出故障問(wèn)題,故不僅 可以提高磁盤壓力測(cè)試的工作效率,而且可以提高磁盤壓力測(cè)試的準(zhǔn)確性。
[0072] 步驟202:對(duì)磁盤壓力測(cè)試程序賦予相應(yīng)的可執(zhí)行權(quán)限:#chmod 777DiskTest。
[0073] 在本實(shí)施例中,為了保證設(shè)置的磁盤壓力測(cè)試程序能夠順利執(zhí)行,在程序執(zhí)行之 前,可以預(yù)先對(duì)其賦予相應(yīng)的可執(zhí)行權(quán)限,如#chmod 777DiskTest。
[0074]步驟203:獲取服務(wù)器中的每一個(gè)待測(cè)試磁盤的盤符。
[0075]詳細(xì)地,首先獲取服務(wù)器中所有磁盤的磁盤信息:#fdisk-l,并從中獲取每一個(gè)待 測(cè)試磁盤的盤符。
[0076] 舉例來(lái)說(shuō),對(duì)于該Linux服務(wù)器,可以獲取到如下所示的信息:
[0077] Disk/dev/sda:999.7GB,999653638144bytes
[0078] 255heads,63sectors/track,121534cylinders,total 1952448512sectors
[0079] Units = sectors of l*512 = 512bytes
[0080] Sector size(logical/physical):512bytes/4096bytes
[0081] 1/0 size(minimum/optimal):4096bytes/4096bytes
[0082] Disk identifier:0x0000d421
[0083] Device Boot Start End Blocks Id System /dev/sdal * 2048 2105343 1051648 83 LinuK /dcv/sda2 2105344 35663871 16779264 82 Linux swap /dev/sda3 35663872 664817663 314576896 83 Linux /dcv/sda4 664817664 1952448511 643815424 f W95 ExtTd (LBA) /dev/sda5 664819712 706762751 20971520 83 Linux /dev/sda6 706764800 748709887 20972544 83 Linux /dev/sda7 748711936 769673215 10480640 83 Linux /dev/sda8 769675264 1818253311 524289024 83 Linux
[0084] Disk/dev/sdb:999.7GB,999653638144bytes
[0085] 255heads,63sectors/track,121534cylinders,total 1952448512sectors
[0086] Units = sectors of l*512 = 512bytes
[0087] Sector size(logical/physical):512bytes/4096bytes
[0088] 1/0 size(minimum/optimal):4096bytes/4096bytes
[0089] Disk identifier:0x00000000
[0090] Disk/dev/sdc:999.7GB,999653638144bytes
[0091 ] 255heads,63sectors/track,121534cylinders,total 1952448512sectors
[0092] Units = sectors of l*512 = 512bytes
[0093] Sector size(logical/physical):512bytes/4096bytes
[0094] 1/0 size(minimum/optimal):4096bytes/4096bytes
[0095] Disk identif ier:0x00000000
[0096] Disk/dev/sdd:4000.2GB,4000225165312bytes
[0097] 255heads,63sectors/track,486333cylinders,total 7812939776sectors
[0098] Units = sectors of l*512 = 512bytes
[0099] Sector size(logical/physical):512bytes/4096bytes
[0100] 1/0 size(minimum/optimal):4096bytes/4096bytes
[0101] Disk identifier:0x00000000
[0102] Disk/dev/sde:4000.2GB,4000225165312bytes
[0103] 255heads,63sectors/track,486333cylinders,total 7812939776sectors
[0104] Units = sectors of l*512 = 512bytes
[0105] Sector size(logical/physical):512bytes/4096bytes
[0106] 1/0 size(minimum/optimal):4096bytes/4096bytes
[0107] Disk identifier:0x00000000
[0108] Disk/dev/sdf:4000.2GB,4000225165312bytes
[0109] 255heads,63sectors/track,486333cylinders,total 7812939776sectors
[0110] Units = sectors of l*512 = 512bytes
[0111] Sector size(logical/physical):512bytes/4096bytes
[0112] I/O size(minimum/optimal):4096bytes/4096bytes
[0113] Disk identifier:0x00000000
[0114]在本實(shí)施例中,在獲取到的6塊磁盤中,不僅包含5塊待測(cè)試磁盤/dev/sdb、/dev/ sdc、/dev/sdd、/dev/sde和/dev/sdf,還包含服務(wù)器內(nèi)置系統(tǒng)盤/dev/sda。因此,除去系統(tǒng) 盤/dev/sda,可以獲取到這5個(gè)待測(cè)試磁盤的盤符,分別為b、c、d、e和f。
[0115] 步驟204:根據(jù)獲取到的盤符,將磁盤壓力測(cè)試程序中的磁盤列表編輯為list=(b c d e f) 〇
[0116] 具體地,每一個(gè)盤符之間用空格隔開。
[0117] 例如,根據(jù)獲取到的盤符b、c、d、e和f,可以將上述代碼程序中的1 ist = (b c)-行 編輯為list = (b c d e f)。在本實(shí)施例中,可以由工作人員人為編輯磁盤列表。
[0118] 步驟205:啟動(dòng)與磁盤列表相對(duì)應(yīng)的5個(gè)線程。
[0119] 在本實(shí)施例中,由于需要對(duì)5塊磁盤進(jìn)行多磁盤并發(fā)壓力測(cè)試,故相應(yīng)的,可以啟 動(dòng)5個(gè)線程以同時(shí)進(jìn)行壓力測(cè)試操作。
[0120] 步驟206:利用for并發(fā)語(yǔ)句,分別讀取磁盤列表中的每一個(gè)盤符。
[0121 ] 具體地,執(zhí)行上述腳本程序:#./DiskTest。
[0122] 在本實(shí)施例中,可以利用上述代碼程序中的for并發(fā)語(yǔ)句,以分別讀取每一個(gè)盤 符。
[0123] 步驟207:利用該5個(gè)線程,以及利用test〇函數(shù),針對(duì)與每一個(gè)盤符相對(duì)應(yīng)的待測(cè) 試磁盤均執(zhí)行:向該待測(cè)試磁盤中讀寫固定block大小和數(shù)量的塊數(shù)據(jù)。
[0124] 在本實(shí)施例中,可以利用上述代碼程序中的test()函數(shù),分別對(duì)每一個(gè)待測(cè)試磁 盤執(zhí)行數(shù)據(jù)讀寫操作,例如,可以向待測(cè)試磁盤中讀寫固定block大小和數(shù)量的塊數(shù)據(jù)。
[0125] 步驟208:利用whi le循環(huán)語(yǔ)句,再次執(zhí)行步驟207。
[0126] 在本實(shí)施例中,在任意一塊磁盤完成任意一次數(shù)據(jù)讀寫操作之后,均可以利用上 述代碼程序中的while循環(huán)語(yǔ)句,再次執(zhí)行數(shù)據(jù)讀寫操作,以實(shí)現(xiàn)多磁盤并發(fā)循環(huán)壓力測(cè)試 過(guò)程。
[0127] 此外,對(duì)于任意一塊磁盤,每完成一次數(shù)據(jù)讀寫操作,系統(tǒng)便可以自動(dòng)生成一條相 應(yīng)的記錄信息。例如,與該多磁盤并發(fā)循環(huán)壓力測(cè)試過(guò)程相對(duì)應(yīng)的部分測(cè)試結(jié)果記錄信息 可以如下進(jìn)行顯示:
[0128] 記錄了1000+0的讀入
[0129] 記錄了1000+0的寫出
[0130] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,16 ? 4364秒,63 ? 8MB/秒
[0131] 記錄了1000+0的讀入
[0132] 記錄了1000+0的寫出
[0133] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,16 ? 2769秒,64 ? 4MB/秒
[0134] 記錄了 1000+0的讀入
[0135] 記錄了1000+0的寫出
[0136] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,16 ? 2616 秒,64 ? 5MB/秒
[0137] 記錄了1000+0的讀入
[0138] 記錄了1000+0的寫出
[0139] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,16 ? 2826秒,64 ? 4MB/秒
[0140] 記錄了1000+0的讀入
[0141] 記錄了1000+0的寫出
[0142] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,16 ? 4311秒,63 ? 8MB/秒
[0143] 步驟209:在磁盤壓力測(cè)試程序執(zhí)行完成之后,生成與每一個(gè)待測(cè)試磁盤相對(duì)應(yīng)的 磁盤壓力測(cè)試報(bào)告。
[0144] 具體地,磁盤壓力測(cè)試報(bào)告包括單次測(cè)試的壓力大小、單詞測(cè)試所用時(shí)間和磁盤 讀寫速度中的任意一種或多種。
[0145] 在本實(shí)施例中,可以預(yù)先設(shè)置磁盤壓力測(cè)試程序的結(jié)束執(zhí)行時(shí)間,以便于壓力測(cè) 試過(guò)程自動(dòng)停止,也可以由工作人員根據(jù)實(shí)際需求隨時(shí)手動(dòng)停止。
[0146] 在本實(shí)施例中,若服務(wù)器在壓力測(cè)試過(guò)程中出現(xiàn)死機(jī)、無(wú)響應(yīng)等問(wèn)題,說(shuō)明服務(wù)器 的磁盤通道,如RAID卡、SAS線、硬盤背板、硬盤等均有可能存在異常,則后續(xù)可以利用分組、 最小化等故障測(cè)試方法對(duì)故障部件進(jìn)行定位。
[0147] 相應(yīng)的,若服務(wù)器在壓力測(cè)試過(guò)程中未出現(xiàn)問(wèn)題,則在測(cè)試完成之后,可以在 DiskTest所在的目錄下生成測(cè)試報(bào)告report.txt,且該測(cè)試報(bào)告中詳細(xì)記錄了本次測(cè)試的 測(cè)試信息,如單次測(cè)試所用時(shí)間、硬盤寫入速度等。例如,系統(tǒng)自動(dòng)記錄的磁盤/dev/sdb的 測(cè)試報(bào)告可以如下所示:
[0148] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,16 ? 2616 秒,74 ? 5MB/秒
[0149] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,17 ? 0383秒,69 ? 4MB/秒
[0150] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,24 ? 5782秒,35 ? 0MB/秒
[0151 ] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,26 ? 1049秒,31 ? 8MB/秒
[0152] 1048576000 字節(jié)(1 ? 0GB)已復(fù)制,26 ? 0361秒,31 ? 3MB/秒
[0153] ……
[0154] 在本實(shí)施例中,通過(guò)對(duì)比單個(gè)磁盤的每一次的測(cè)試時(shí)間,可以檢驗(yàn)該磁盤在連續(xù) 讀寫環(huán)境下的穩(wěn)定性;通過(guò)對(duì)比單個(gè)磁盤的每一次的測(cè)試速度,可以檢驗(yàn)該磁盤的性能;以 及,通過(guò)對(duì)比全部磁盤的每一次的測(cè)試時(shí)間和測(cè)試速度,可以檢驗(yàn)該全部磁盤所屬RAID卡 的整體I/O性能。
[0155] 例如,根據(jù)上述磁盤/dev/sdb的測(cè)試報(bào)告,可以看出其測(cè)試結(jié)果有較大波動(dòng),說(shuō)明 該磁盤在高壓力環(huán)境下雖然沒有引發(fā)服務(wù)器出現(xiàn)死機(jī)、無(wú)響應(yīng)等問(wèn)題,但其在該測(cè)試環(huán)境 下已經(jīng)出現(xiàn)不穩(wěn)定現(xiàn)象,I/O性能明顯下降,可能存在故障或其它缺陷,故可以對(duì)該磁盤進(jìn) 行維修或更換。
[0156] 在本實(shí)施例中,通過(guò)向所有待測(cè)試磁盤并發(fā)循環(huán)的讀寫塊數(shù)據(jù),以實(shí)現(xiàn)模擬甚至 高于用戶現(xiàn)場(chǎng)磁盤壓力狀況的目的,從而使存在故障隱患的磁盤在高強(qiáng)度的壓力環(huán)境下快 速表現(xiàn)出故障,便于定位磁盤故障。此外,還可以快速檢出RAID卡的故障問(wèn)題,從而可以檢 驗(yàn)磁盤陣列在連續(xù)讀寫環(huán)境下的穩(wěn)定性和整體I/O性能。
[0157] 此外,本發(fā)明實(shí)施例通過(guò)多盤位并發(fā)壓力測(cè)試,同樣可以實(shí)現(xiàn)對(duì)服務(wù)器進(jìn)行故障 定位、拷機(jī)等目的。
[0158] 在本實(shí)施例中,所提出的多盤位并發(fā)壓力測(cè)試方法在對(duì)磁盤進(jìn)行壓力測(cè)試時(shí),無(wú) 需安裝第三方軟件、簡(jiǎn)單易用,且使用shell腳本編寫,故通用性強(qiáng),可跨平臺(tái)使用,從而避 免了因安裝其他磁盤壓力測(cè)試工具所引發(fā)的安裝麻煩、測(cè)試手段單一、應(yīng)用平臺(tái)窄等問(wèn)題。
[0159]如圖3所示,本發(fā)明實(shí)施例提供了一種磁盤壓力測(cè)試裝置,包括:
[0160] 設(shè)置單元301,用于設(shè)置磁盤壓力測(cè)試程序;
[0161 ]獲取單元302,用于獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí);
[0162] 編輯單元303,用于根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程序中的磁盤列表;
[0163] 處理單元304,用于啟動(dòng)與所述磁盤列表相對(duì)應(yīng)的多個(gè)線程;以及利用所述多個(gè)線 程,執(zhí)行所述磁盤壓力測(cè)試程序。
[0164] 在一種可能的實(shí)現(xiàn)方式中,所述處理單元304,具體用于利用for并發(fā)語(yǔ)句,分別讀 取所述磁盤列表中的每一個(gè)所述標(biāo)識(shí);利用test()函數(shù),針對(duì)與每一個(gè)所述標(biāo)識(shí)相對(duì)應(yīng)的 待測(cè)試磁盤均執(zhí)行:向所述待測(cè)試磁盤中讀寫固定block大小和數(shù)量的塊數(shù)據(jù);利用while 循環(huán)語(yǔ)句,循環(huán)執(zhí)行所述讀寫操作。
[0165] 在一種可能的實(shí)現(xiàn)方式中,所述編輯單元303,具體用于根據(jù)獲取到的每一個(gè)待測(cè) 試磁盤的盤符,將所述磁盤壓力測(cè)試程序中的磁盤列表編輯為1 ist =(盤符1盤符2…盤符 n),且每一個(gè)所述盤符之間用空格隔開。
[0166] 在一種可能的實(shí)現(xiàn)方式中,請(qǐng)參考圖4,該裝置還可以包括:報(bào)告生成單元401,用 于生成與每一個(gè)所述待測(cè)試磁盤相對(duì)應(yīng)的磁盤壓力測(cè)試報(bào)告;
[0167] 所述磁盤壓力測(cè)試報(bào)告,包括:單次測(cè)試的壓力大小、單詞測(cè)試所用時(shí)間和磁盤讀 寫速度中的任意一種或多種。
[0168] 在一種可能的實(shí)現(xiàn)方式中,請(qǐng)參考圖4,該裝置還可以包括:權(quán)限賦予單元402,用 于對(duì)所述磁盤壓力測(cè)試程序賦予相應(yīng)的可執(zhí)行權(quán)限:#chmod 777DiskTest。
[0169] 上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本發(fā)明方法實(shí)施 例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0170] 綜上所述,本發(fā)明的各個(gè)實(shí)施例至少具有如下有益效果:
[0171] 1、本發(fā)明實(shí)施例中,首先獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí);以及根據(jù)獲取到的標(biāo)識(shí) 以及預(yù)先設(shè)置好的磁盤壓力測(cè)試程序,編輯該磁盤壓力測(cè)試程序中的磁盤列表;然后,啟動(dòng) 與該磁盤列表相對(duì)應(yīng)的多個(gè)線程,并利用該多個(gè)線程執(zhí)行所述磁盤壓力測(cè)試程序。通過(guò)多 線程同時(shí)運(yùn)行磁盤壓力測(cè)試程序,可以實(shí)現(xiàn)多個(gè)磁盤的多盤位并發(fā)壓力測(cè)試,因此,本發(fā)明 實(shí)施例能夠提高服務(wù)器磁盤壓力測(cè)試的效率。
[0172] 2、本發(fā)明實(shí)施例中,通過(guò)執(zhí)行設(shè)定的磁盤壓力測(cè)試程序,可以同時(shí)對(duì)多個(gè)磁盤進(jìn) 行高壓并發(fā)循環(huán)壓力測(cè)試。與單塊磁盤壓力測(cè)試相比,本實(shí)施例所提供的壓力測(cè)試方法的 測(cè)試壓力更高、測(cè)試環(huán)境復(fù)雜,因此更容易使存在故障隱患的磁盤快速表現(xiàn)出故障問(wèn)題,故 不僅可以提高磁盤壓力測(cè)試的工作效率,而且可以提高磁盤壓力測(cè)試的準(zhǔn)確性。
[0173] 3、本發(fā)明實(shí)施例中,通過(guò)向所有待測(cè)試磁盤并發(fā)循環(huán)的讀寫塊數(shù)據(jù),以實(shí)現(xiàn)模擬 甚至高于用戶現(xiàn)場(chǎng)磁盤壓力狀況的目的,從而使存在故障隱患的磁盤在高強(qiáng)度的壓力環(huán)境 下快速表現(xiàn)出故障,便于定位磁盤故障。此外,還可以快速檢出RAID卡的故障問(wèn)題,從而可 以檢驗(yàn)磁盤陣列在連續(xù)讀寫環(huán)境下的穩(wěn)定性和整體I/O性能。
[0174] 4、本發(fā)明實(shí)施例中,通過(guò)多盤位并發(fā)壓力測(cè)試,同樣可以實(shí)現(xiàn)對(duì)服務(wù)器進(jìn)行故障 定位、拷機(jī)等目的。
[0175] 5、本發(fā)明實(shí)施例中,所提出的多盤位并發(fā)壓力測(cè)試方法在對(duì)磁盤進(jìn)行壓力測(cè)試 時(shí),無(wú)需安裝第三方軟件、簡(jiǎn)單易用,且使用shell腳本編寫,故通用性強(qiáng),可跨平臺(tái)使用,從 而避免了因安裝其他磁盤壓力測(cè)試工具所引發(fā)的安裝麻煩、測(cè)試手段單一、應(yīng)用平臺(tái)窄等 問(wèn)題。
[0176]需要說(shuō)明的是,在本文中,術(shù)語(yǔ)"包括"、"包含"或者其任何其他變體意在涵蓋非排 他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而 且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有 的要素。在沒有更多限制的情況下,由語(yǔ)句"包括一個(gè)......"限定的要素,并不排除 在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0177]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光 盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
[0178]最后需要說(shuō)明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說(shuō)明本發(fā)明的技 術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、 等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種磁盤壓力測(cè)試方法,其特征在于,預(yù)先設(shè)置磁盤壓力測(cè)試程序,還包括: 獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí); 根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程序中的磁盤列表; 啟動(dòng)與所述磁盤列表相對(duì)應(yīng)的多個(gè)線程; 利用所述多個(gè)線程,執(zhí)行所述磁盤壓力測(cè)試程序。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述執(zhí)行所述磁盤壓力測(cè)試程序,包括: Sl:利用for并發(fā)語(yǔ)句,分別讀取所述磁盤列表中的每一個(gè)所述標(biāo)識(shí); S2:利用test()函數(shù),針對(duì)與每一個(gè)所述標(biāo)識(shí)相對(duì)應(yīng)的待測(cè)試磁盤均執(zhí)行:向所述待測(cè) 試磁盤中讀寫固定block大小和數(shù)量的塊數(shù)據(jù); S3:利用while循環(huán)語(yǔ)句,再次執(zhí)行S2。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè) 試程序中的磁盤列表,包括: 根據(jù)獲取到的每一個(gè)待測(cè)試磁盤的盤符,將所述磁盤壓力測(cè)試程序中的磁盤列表編輯 為list =(盤符1盤符2…盤符η),且每一個(gè)所述盤符之間用空格隔開。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 在所述執(zhí)行所述磁盤壓力測(cè)試程序之后,進(jìn)一步包括:生成與每一個(gè)所述待測(cè)試磁盤 相對(duì)應(yīng)的磁盤壓力測(cè)試報(bào)告; 所述磁盤壓力測(cè)試報(bào)告,包括:單次測(cè)試的壓力大小、單詞測(cè)試所用時(shí)間和磁盤讀寫速 度中的任意一種或多種。5. 根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于,在所述執(zhí)行所述磁盤壓力測(cè)試 程序之前,進(jìn)一步包括: 對(duì)所述磁盤壓力測(cè)試程序賦予相應(yīng)的可執(zhí)行權(quán)限:#chmod 777DiskTest。6. -種磁盤壓力測(cè)試裝置,其特征在于,包括: 設(shè)置單元,用于設(shè)置磁盤壓力測(cè)試程序; 獲取單元,用于獲取每一個(gè)待測(cè)試磁盤的標(biāo)識(shí); 編輯單元,用于根據(jù)所述標(biāo)識(shí),編輯所述磁盤壓力測(cè)試程序中的磁盤列表; 處理單元,用于啟動(dòng)與所述磁盤列表相對(duì)應(yīng)的多個(gè)線程;以及利用所述多個(gè)線程,執(zhí)行 所述磁盤壓力測(cè)試程序。7. 根據(jù)權(quán)利要求6所述的磁盤壓力測(cè)試裝置,其特征在于,所述處理單元,具體用于利 用for并發(fā)語(yǔ)句,分別讀取所述磁盤列表中的每一個(gè)所述標(biāo)識(shí);利用test()函數(shù),針對(duì)與每 一個(gè)所述標(biāo)識(shí)相對(duì)應(yīng)的待測(cè)試磁盤均執(zhí)行:向所述待測(cè)試磁盤中讀寫固定block大小和數(shù) 量的塊數(shù)據(jù);利用whi Ie循環(huán)語(yǔ)句,循環(huán)執(zhí)行所述讀寫操作。8. 根據(jù)權(quán)利要求6所述的磁盤壓力測(cè)試裝置,其特征在于,所述編輯單元,具體用于根 據(jù)獲取到的每一個(gè)待測(cè)試磁盤的盤符,將所述磁盤壓力測(cè)試程序中的磁盤列表編輯為list =(盤符1盤符2…盤符n),且每一個(gè)所述盤符之間用空格隔開。9. 根據(jù)權(quán)利要求6所述的磁盤壓力測(cè)試裝置,其特征在于,還包括: 報(bào)告生成單元,用于生成與每一個(gè)所述待測(cè)試磁盤相對(duì)應(yīng)的磁盤壓力測(cè)試報(bào)告; 所述磁盤壓力測(cè)試報(bào)告,包括:單次測(cè)試的壓力大小、單詞測(cè)試所用時(shí)間和磁盤讀寫速 度中的任意一種或多種。10.根據(jù)權(quán)利要求6至9中任一所述的磁盤壓力測(cè)試裝置,其特征在于,還包括: 權(quán)限賦予單元,用于對(duì)所述磁盤壓力測(cè)試程序賦予相應(yīng)的可執(zhí)行權(quán)限:#chmod 777DiskTest〇
【文檔編號(hào)】G06F11/26GK105912435SQ201610202931
【公開日】2016年8月31日
【申請(qǐng)日】2016年4月1日
【發(fā)明人】李洋
【申請(qǐng)人】浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
静安区| 施甸县| 孟村| 肇源县| 保定市| 丽江市| 阿克陶县| 三门峡市| 乐平市| 罗山县| 荥经县| 文山县| 彰武县| 洪雅县| 亚东县| 清原| 马山县| 珲春市| 彩票| 宁德市| 中卫市| 古浪县| 莒南县| 兖州市| 高唐县| 阿合奇县| 岑溪市| 克拉玛依市| 元阳县| 沈阳市| 湟中县| 河源市| 泰顺县| 南开区| 宝山区| 延长县| 临沭县| 察隅县| 定安县| 荔波县| 贺兰县|