專利名稱:服務(wù)器io診斷的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及服務(wù)器技術(shù)領(lǐng)域,尤其涉及一種服務(wù)器10(英文全稱為=Input/Output中文全稱為輸入/輸出)診斷的方法及裝置。
背景技術(shù):
服務(wù)器系統(tǒng)中的IO子系統(tǒng)包括在服務(wù)器設(shè)備中和IO有關(guān)的硬件和軟件、以及與服務(wù)器設(shè)備連接的磁盤陣列等存儲設(shè)備。當(dāng)服務(wù)器IO性能存在問題時,現(xiàn)有技術(shù)提供的技術(shù)方案需要對可能影響服務(wù)器IO性能的CPU、內(nèi)存、業(yè)務(wù)應(yīng)用以及與服務(wù)器連接的存儲設(shè)備和存儲組網(wǎng)等因素進行分析,并逐個驗證和排除每個因素的影響直至定位出現(xiàn)問題的IO 路徑。由于逐個驗證和排除每個因素需花費大量的時間,因此降低了 IO診斷效率。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種服務(wù)器IO診斷的方法及裝置,實現(xiàn)了對每個bio (英文全稱為block input output,中文全稱為塊的輸入輸出)處理過程的跟蹤,能夠根據(jù)bio處理過程中各時間段對應(yīng)的方差直接確定出現(xiàn)問題的IO路徑,不必去逐個排除影響因素,從而提聞了 IO診斷的效率。為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案一種服務(wù)器IO診斷的方法,包括獲取若干個塊的輸入輸出bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段;根據(jù)所述若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差;將調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑。一種服務(wù)器10診斷的裝置,包括獲取單元,用于獲取若干個塊的輸入輸出bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段;計算單元,用于根據(jù)所述獲取單元獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差;比較單元,用于將所述計算單元得到的調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑。本發(fā)明實施例提供的服務(wù)器10診斷的方法及裝置,通過計算獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段的方差;并根據(jù)得到的方差數(shù)值進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑。現(xiàn)有技術(shù)方案,必須逐個驗證和排除CPU、內(nèi)存、業(yè)務(wù)應(yīng)用等每個因素的影響直至定位出現(xiàn)問題的10路徑。這樣就要花費大量的時間,因此降低了 IO診斷效率。而本發(fā)明提供的技術(shù)方案實現(xiàn)了對每個bio處理過程的跟蹤,能夠根據(jù)bio處理過程中各時間段對應(yīng)的方差直接確定出現(xiàn)問題的IO路徑,不必去逐個排除影響因素,從而提高了 IO診斷的效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例I中的一種服務(wù)器IO診斷方法的流程圖;圖2為本發(fā)明實施例2中的一種服務(wù)器IO診斷方法的流程圖;
圖3為本發(fā)明實施例3中的一種服務(wù)器IO診斷方法的流程圖; 圖4為本發(fā)明實施例4中的一種服務(wù)器IO診斷裝置的組成框圖;圖5為本發(fā)明實施例4中的另一種服務(wù)器IO診斷裝置的組成框圖;圖6為本發(fā)明實施例5中的一種服務(wù)器IO診斷裝置的組成框圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。實施例I本發(fā)明實施例提供了一種服務(wù)器IO診斷的方法,如圖I所示,該方法包括101、獲取若干個塊的輸入輸出bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段。值得說明的是,調(diào)度時間段是bio從IO調(diào)度層到主驅(qū)動這一流程的時間,存儲設(shè)備處理時間段是bio在整個主驅(qū)動中的處理時間,回調(diào)時間段是bio從主驅(qū)動到IO調(diào)度層的流程的時間。102、根據(jù)所述若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差。103、將調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑。其中,對時間段的方差進行比較,S卩比較其數(shù)值的大小,根據(jù)比較結(jié)果確定最大方差值對應(yīng)的時間段所對應(yīng)的10路徑為出現(xiàn)問題的10路徑。本發(fā)明實施例提供的服務(wù)器10診斷的方法,通過計算獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段的方差;并得到的方差數(shù)值進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑?,F(xiàn)有技術(shù)方案,必須逐個驗證和排除CPU、內(nèi)存、業(yè)務(wù)應(yīng)用等每個因素的影響直至定位出現(xiàn)問題的10路徑。這樣就要花費大量的時間,因此降低了 10診斷效率。而本發(fā)明提供的技術(shù)方案實現(xiàn)了對每個bio處理過程的跟蹤,能夠根據(jù)bio處理過程中各時間段對應(yīng)的方差直接確定出現(xiàn)問題的IO路徑,不必去逐個排除影響因素,從而提聞了 IO診斷的效率。實施例2本發(fā)明實施例提供的服務(wù)器IO診斷的方法,如圖2所示,該方法包括201、獲取IO調(diào)度層接收到每個bio的時間,并將所述IO調(diào)度層接收到每個bio的時間分別作為每個bio各自對應(yīng)的第一時間值。其中,bio由通用塊層下發(fā)給10調(diào)度層是由“SUbmit_bio”函數(shù)中規(guī)定的相關(guān)指令來實現(xiàn)的,值得說明的是,本發(fā)明實施例在該函數(shù)中增設(shè)打印功能,分別打印10調(diào)度層接收到每個bio的系統(tǒng)時間,以該時間作為第一時間值。202、獲取主驅(qū)動開始處理每個bio的時間,并將所述主驅(qū)動開始處理每個bio的時間分別作為每個bio各自對應(yīng)的第二時間值。值得說明的是,在本步驟中,通過“scsi_dispatch_cmd”函數(shù)中規(guī)定的相關(guān)指令將bio轉(zhuǎn)化為scsi command,并將scsi command下發(fā)給主驅(qū)動。值得說明的是,本發(fā)明實施例在該函數(shù)中增設(shè)打印功能,分別打印將scsi command下發(fā)給主驅(qū)動的系統(tǒng)時間,并將此作為每個bio各自對應(yīng)的第二時間值。203、獲取主驅(qū)動處理完每個bio的時間,并將所述主驅(qū)動處理完每個bio的時間分別作為每個bio各自對應(yīng)的第三時間值。值得說明的是,在本步驟中,主驅(qū)動完成bio操作后,執(zhí)行“scsi_io_completion”函數(shù)的相關(guān)指令。本發(fā)明在該函數(shù)中增設(shè)打印功能,分別打印執(zhí)行所述“scsi_i0_completion”函數(shù)的系統(tǒng)時間,作為每個bio各自對應(yīng)的第三時間值。204、獲取10調(diào)度層發(fā)送每個bio的時間,并將所述10調(diào)度層發(fā)送每個bio的時間分別作為每個bio各自對應(yīng)的第四時間值。其中,10調(diào)度層發(fā)送bio即表示整個bio完成,在整個bio完成后,執(zhí)行“bio_endio”函數(shù)。本發(fā)明在該函數(shù)中增設(shè)打印功能,分別打印執(zhí)行所述“bio_endio”函數(shù)的系統(tǒng)時間,作為每個bio各自對應(yīng)的第四時間值。205、將每個bio各自對應(yīng)的第一時間值與所述第二時間值分別作相減運算,得到每個bio各自對應(yīng)的調(diào)度時間段。206、將每個bio各自對應(yīng)的第二時間值與所述第三時間值分別作相減運算,得到每個bio各自對應(yīng)的存儲設(shè)備處理時間段。207、將每個bio各自對應(yīng)的第三時間值與所述第四時間值分別作相減運算,得到每個bio各自對應(yīng)的回調(diào)時間段。值得說明的是,上述步驟205-207中提到的調(diào)度時間段、存儲設(shè)備處理時間段、回調(diào)時間段,其各自對應(yīng)的10路徑與實施例I中步驟101中的相關(guān)描述相同,在此不再重復(fù)說明。208、根據(jù)所述若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差。209、比較所述調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差的大小,根據(jù)比較結(jié)果確定最大方差值。210、確定所述最大方差值對應(yīng)的時間段,并確定所述最大方差值對應(yīng)的時間段對應(yīng)的路徑為出現(xiàn)問題的IO路徑。值得說明的是,其中時間段即為步驟208中的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段。時間段是由兩個時間值的差計算得來的,而時間段的具體獲得在本是實施例中步驟205-207已作了相關(guān)說明,在此不再重復(fù)描述。此外,本步驟中的時間段對應(yīng)的IO路徑,在實施例I中的步驟101中以作了詳細(xì)描述,在此不再重復(fù)說明。另外,值得說明的是,在主驅(qū)動中用戶可以通過延遲接口函數(shù)設(shè)置延遲時間,從而能對正常的bio處理流程進行修改,以排除存儲設(shè)備對服務(wù)器IO診斷的影響。進一步地,延遲接口函數(shù)的設(shè)置方法具體包括I.定義全局變量delay_time,該變量表示延遲時間。
2.定義接口函數(shù),定義的內(nèi)容為提供給用戶的接口函數(shù)名;設(shè)置函數(shù)的名稱。通過定義提供給用戶設(shè)置延遲時間的接口。3.定義設(shè)置函數(shù),設(shè)置函數(shù)把由接口函數(shù)得到的延遲時間傳送給全局變量delay_time。具體地,延遲時間用于模擬實際bio經(jīng)過存儲設(shè)備的延遲時間。延遲函數(shù)延遲設(shè)定的延遲時間,等延遲結(jié)束后直接調(diào)用“scsi_io_completion”函數(shù)以改變bio處理流程,使bio不需要經(jīng)過實際的存儲設(shè)備。從而能夠排除存儲器對IO路徑的影響。本發(fā)明實施例提供的服務(wù)器IO診斷的方法,通過計算獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段的方差;并得到的方差數(shù)值進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑。現(xiàn)有技術(shù)方案,必須逐個驗證和排除CPU、內(nèi)存、業(yè)務(wù)應(yīng)用等每個因素的影響直至定位出現(xiàn)問題的10路徑。這樣就要花費大量的時間,因此降低了 10診斷效率。而本發(fā)明提供的技術(shù)方案實現(xiàn)了對每個bio處理過程的跟蹤,能夠根據(jù)bio處理過程中各時間段對應(yīng)的方差直接確定出現(xiàn)問題的10路徑,不必去逐個排除影響因素,從而提聞了 10診斷的效率。實施例3本發(fā)明提供了一種服務(wù)器10診斷的方法,該方法可以用于如下實例中。本實例以獲取5個bio為例介紹具體的方法流程。在本實例中第一時間值可表示為sub-time,第二時間值可表示為dis-time,第三時間值可表示為com-time,第四時間值可表示為end-time。調(diào)度時間段表示為sub-dis-time,存儲設(shè)備處理時間段表示為dis—com-time,回調(diào)時間段表不為com-end-time。值得說明的是,此處只是對時間值以及時間段名稱的表不方法作了改變,并無其它實際意義。此外,第一時間值、第二時間值、第三時間值、第四時間值與實施例2中步驟201-204的相關(guān)描述相同;調(diào)度時間段、存儲設(shè)備處理時間段、回調(diào)時間段與實施例2中步驟205-207的相關(guān)描述相同,則在本實施例中不再重復(fù)說明。如圖3所示,該方法包括301、獲取5個bio各自對應(yīng)的第一時間值、第二時間值、第三時間值、第四時間值。值得說明的是,本步驟的實現(xiàn)方法與實施例2中步驟201-204相對應(yīng),只是由實施例2中的不確定的個數(shù)轉(zhuǎn)化為確定個數(shù)5,所以在此不再重復(fù)說明。此外,如下表1,本實例以四種時間的具體數(shù)值為例進行說明。表I
biolbio2bio3 bio4bio5
sub-time (μ s) 300301302303303
dis-time (μ s) 302305307310320
com-time (μ s) 402406407412422
cmd-timeU s) 410416417419430302、對步驟301中的第一時間值、第二時間值、第三時間值、第四時間值進行相減
運算?!?br>
·
其中,該步驟相減運算與實施例2中步驟205-207相對應(yīng),具體實現(xiàn)方法相同,在此不再詳細(xì)說明。此外,將對于步驟301提供的5個bio的具體時間值得到其相應(yīng)差值,如下表表2所示表 2
biol bio2 bio3 bio4 bio5 sub-dis-time (μ s)245717
dis-com-time (μ s)100101100102102
com-end-time (μ s)8101089分別記biol_bio5 的 sub-dis-time 為 sl_s5,分別記 biol_bio5 的 dis—com-time為 dl_d5,分別記 biol_bio5 的 com-end-time 為 cl_c5。303、根據(jù)所述 5 個 bio 各自對應(yīng)的 sub-dis-time、dis—com-time 和com-end-time進行計算,得到各自的方差。其中,計算方差需要先計算上述三種時間段各自對應(yīng)的平均值,sub-dis-time對應(yīng)的平均值記為as, dis—com-time對應(yīng)的平均值記為ad, com-end-time對應(yīng)的平均值記為ac。根據(jù)本實施例中步驟302得到的5個bio的三種時間段的具體值得到其對應(yīng)的平均值,如下表3所示表3
as (us) 7 ad (us) 101 ac (us) 9根據(jù)平均值計算方差過程如下
調(diào)度時間段方差為1/5 [ (sl_as)2+(s2_as)2+(s3_as)2+(s4_as)2+(s5_as)2] = 27. 6 存儲設(shè)備處理時間段方差為1/5 [ (dl-ad)2+ (d2_ad)2+ (d3_ad)2+ (d4_ad)2+ (d5_ad)2] = O. 8 回調(diào)時間段方差為1/5 [ (cl_ac)2+(c2_ac)2+(c 3_ac)2+(c4_ac)2+(c5_ac)2] = O. 8304、確定最大方差值。其中,最大方差值位調(diào)度時間段方差,即由上述步驟303中得到的三個方差值中27. 6最大,對應(yīng)調(diào)度時間段方差。305、根據(jù)比較結(jié)果確定出現(xiàn)問題的IO路徑為IO調(diào)度層到主驅(qū)動。
本發(fā)明實施例提供的服務(wù)器IO診斷的方法,通過計算獲取5個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段的方差;并得到的方差數(shù)值進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的IO路徑?,F(xiàn)有技術(shù)方案,必須逐個驗證和排除CPU、內(nèi)存、業(yè)務(wù)應(yīng)用等每個因素的影響直至定位出現(xiàn)問題的IO路徑。這樣就要花費大量的時間,因此降低了 IO診斷效率。而本發(fā)明提供的技術(shù)方案實現(xiàn)了對每個bio處理過程的跟蹤,能夠根據(jù)比較結(jié)果直接確定出現(xiàn)問題的IO路徑,不必去逐個排除影響因素,從而提高了 IO診斷的效率。實施例4本發(fā)明提供了一種服務(wù)器IO診斷的裝置,如圖4所示,該裝置包括獲取單元41、計算單元42、比較單元43。獲取單元41,用于獲取若干個塊的輸入輸出bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段。計算單元42,用于根據(jù)所述獲取單元41獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差。比較單元43,用于將所述計算單元42得到的調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的IO路徑??蛇x的是,如圖5所示,所述獲取單元41還包括獲取模塊411、運算模塊412 ;所述比較單元43還包括比較模塊431、確定模塊432。獲取模塊411,用于獲取IO調(diào)度層接收到每個bio的時間,并將所述10調(diào)度層接收到每個bio的時間分別作為每個bio各自對應(yīng)的第一時間值;用于獲取主驅(qū)動開始處理每個bio的時間,并將所述主驅(qū)動開始處理每個bio的時間分別作為每個bio各自對應(yīng)的第二時間值;用于獲取主驅(qū)動處理完每個bio的時間,并將所述主驅(qū)動處理完每個bio的時間分別作為每個bio各自對應(yīng)的第三時間值;獲取10調(diào)度層發(fā)送每個bio的時間,并將所述10調(diào)度層發(fā)送每個bio的時間分別作為每個bio各自對應(yīng)的第四時間值。運算模塊412,用于將所述獲取模塊411獲取到的每個bio各自對應(yīng)的第一時間值與所述第二時間值分別作相減運算,得到每個bio各自對應(yīng)的所述調(diào)度時間段;用于將每個bio各自對應(yīng)的第二時間值與所述第三時間值分別作相減運算,得到每個bio各自對應(yīng)的存儲設(shè)備處理時間段;還用于將每個bio各自對應(yīng)的第三時間值與所述第四時間值分別作相減運算,得到每個bio各自對應(yīng)的回調(diào)時間段。
比較模塊431,用于比較所述調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差的大小。確定模塊432,用于根據(jù)所述比較模塊431得到的比較結(jié)果確定最大方差值;確定所述最大方差值對應(yīng)的時間段,并確定所述最大方差值對應(yīng)的時間段對應(yīng)的路徑為出現(xiàn)問題的IO路徑。本發(fā)明實施例提供的服務(wù)器IO診斷的裝置,通過計算獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段的方差;并得到的方差數(shù)值進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的IO路徑?,F(xiàn)有技術(shù)方案,必須逐個驗證和排除CPU、內(nèi)存、業(yè)務(wù)應(yīng)用等每個因素的影響直至定位出現(xiàn)問題的IO路徑。這樣就要花費大量的時間,因此降低了 IO診斷效率。而本發(fā)明提供的技術(shù)方案實現(xiàn)了對每個bio處理過程的跟蹤,能夠根據(jù)比較結(jié)果直接確定出現(xiàn)問題的IO路徑,不必去逐個排除影響因素,從而提高了 IO診斷的效率。
實施例5本發(fā)明提供了一種服務(wù)器IO診斷的裝置,如圖6所示,該裝置包括處理器01、存儲器02。處理器01,用于獲取IO調(diào)度層接收到每個bio的時間,并將所述IO調(diào)度層接收到每個bio的時間分別作為每個bio各自對應(yīng)的第一時間值。存儲器02,用于存儲所述每個bio各自對應(yīng)的第一時間值。處理器01,用于獲取主驅(qū)動開始處理每個bio的時間,并將所述主驅(qū)動開始處理每個bio的時間分別作為每個bio各自對應(yīng)的第二時間值。存儲器02,用于存儲所述每個bio各自對應(yīng)的第二時間值。處理器01,用于獲取主驅(qū)動處理完每個bio的時間,并將所述主驅(qū)動處理完每個bio的時間分別作為每個bio各自對應(yīng)的第三時間值。存儲器02,用于存儲所述每個bio各自對應(yīng)的第三時間值。處理器OI,用于獲取10調(diào)度層發(fā)送每個bio的時間,并將所述10調(diào)度層發(fā)送每個bio的時間分別作為每個bio各自對應(yīng)的第四時間值。存儲器02,用于存儲所述每個bio各自對應(yīng)的第四時間值。處理器01,用于將每個bio各自對應(yīng)的第一時間值與所述第二時間值分別作相減運算,得到每個bio各自對應(yīng)的調(diào)度時間段。存儲器02,用于存儲所述每個bio各自對應(yīng)的調(diào)度時間段。處理器01,用于將每個bio各自對應(yīng)的第二時間值與所述第三時間值分別作相減運算,得到每個bio各自對應(yīng)的存儲設(shè)備處理時間段。存儲器02,用于存儲所述每個bio各自對應(yīng)的存儲設(shè)備處理時間段。處理器01,用于將每個bio各自對應(yīng)的第三時間值與所述第四時間值分別作相減運算,得到每個bio各自對應(yīng)的回調(diào)時間段。存儲器02,用于存儲所述每個bio各自對應(yīng)的回調(diào)時間段。處理器01,用于根據(jù)所述若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差。
存儲器02,用于存儲所述調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間
段方差。處理器01,用于比較所述調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差的大小,根據(jù)比較結(jié)果確定最大方差值。存儲器02,用于存儲所述最大方差值。處理器01,用于確定所述最大方差值對應(yīng)的時間段,并確定所述最大方差值對應(yīng)的時間段對應(yīng)的路徑為出現(xiàn)問題的IO路徑。存儲器02,用于存儲所述出現(xiàn)問題的IO路徑。 可選的是,處理器01,還用于設(shè)置延遲接口函數(shù)。存儲器02,還用于存儲所述延遲接口函數(shù)。本發(fā)明實施例提供的服務(wù)器IO診斷的裝置,通過計算獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段的方差;并得到的方差數(shù)值進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的IO路徑?,F(xiàn)有技術(shù)方案,必須逐個驗證和排除CPU、內(nèi)存、業(yè)務(wù)應(yīng)用等每個因素的影響直至定位出現(xiàn)問題的IO路徑。這樣就要花費大量的時間,因此降低了 IO診斷效率。而本發(fā)明提供的技術(shù)方案實現(xiàn)了對每個bio處理過程的跟蹤,能夠根據(jù)比較結(jié)果直接確定出現(xiàn)問題的IO路徑,不必去逐個排除影響因素,從而提高了 IO診斷的效率。通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準(zhǔn)。
權(quán)利要求
1.一種服務(wù)器輸入/輸出IO診斷的方法,其特征在于,包括 獲取若干個塊的輸入輸出bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段; 根據(jù)所述若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差; 將調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的IO路徑。
2.根據(jù)權(quán)利要求I所述的服務(wù)器IO診斷的方法,其特征在于,所述獲取若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段,具體包括 獲取IO調(diào)度層接收到每個bio的時間,并將所述IO調(diào)度層接收到每個bio的時間分別作為每個bio各自對應(yīng)的第一時間值; 獲取主驅(qū)動開始處理每個bio的時間,并將所述主驅(qū)動開始處理每個bio的時間分別作為每個bio各自對應(yīng)的第二時間值; 獲取主驅(qū)動處理完每個bio的時間,并將所述主驅(qū)動處理完每個bio的時間分別作為每個bio各自對應(yīng)的第三時間值; 獲取10調(diào)度層發(fā)送每個bio的時間,并將所述10調(diào)度層發(fā)送每個bio的時間分別作為每個bio各自對應(yīng)的第四時間值; 將每個bio各自對應(yīng)的第一時間值與所述第二時間值分別作相減運算,得到每個bio各自對應(yīng)的調(diào)度時間段; 將每個bio各自對應(yīng)的第二時間值與所述第三時間值分別作相減運算,得到每個bio各自對應(yīng)的存儲設(shè)備處理時間段; 將每個bio各自對應(yīng)的第三時間值與所述第四時間值分別作相減運算,得到每個bio各自對應(yīng)的回調(diào)時間段。
3.根據(jù)權(quán)利要求I所述的服務(wù)器10診斷的方法,其特征在于,所述將調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑,具體包括 比較所述調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差的大小,根據(jù)比較結(jié)果確定最大方差值; 確定所述最大方差值對應(yīng)的時間段,并確定所述最大方差值對應(yīng)的時間段對應(yīng)的路徑為出現(xiàn)問題的10路徑。
4.一種服務(wù)器10診斷的裝置,其特征在于,包括 獲取單元,用于獲取若干個塊的輸入輸出bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段; 計算單元,用于根據(jù)所述獲取單元獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段進行計算,得到調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差; 比較單元,用于將所述計算單元得到的調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的10路徑。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述獲取單元包括獲取模塊,用于獲取IO調(diào)度層接收到每個bio的時間,并將所述IO調(diào)度層接收到每個bio的時間分別作為每個bio各自對應(yīng)的第一時間值;用于獲取主驅(qū)動開始處理每個bio的時間,并將所述主驅(qū)動開始處理每個bio的時間分別作為每個bio各自對應(yīng)的第二時間值;用于獲取主驅(qū)動處理完每個bio的時間,并將所述主驅(qū)動處理完每個bio的時間分別作為每個bio各自對應(yīng)的第三時間值;獲取IO調(diào)度層發(fā)送每個bio的時間,并將所述IO調(diào)度層發(fā)送每個bio的時間分別作為每個bio各自對應(yīng)的第四時間值; 運算模塊,用于將所述獲取模塊獲取到的每個bio各自對應(yīng)的第一時間值與所述第二時間值分別作相減運算,得到每個bio各自對應(yīng)的所述調(diào)度時間段;用于將每個bio各自對應(yīng)的第二時間值與所述第三時間值分別作相減運算,得到每個bio各自對應(yīng)的存儲設(shè)備處理時間段;還用于將每個bio各自對應(yīng)的第三時間值與所述第四時間值分別作相減運算,得到每個bio各自對應(yīng)的回調(diào)時間段。
6.根據(jù)權(quán)利要求4所述的服務(wù)器IO診斷的裝置,其特征在于,所述比較單元包括 比較模塊,用于比較所述調(diào)度時間段方差、存儲設(shè)備處理時間段方差和回調(diào)時間段方差的大小; 確定模塊,用于根據(jù)所述比較模塊得到的比較結(jié)果確定最大方差值;確定所述最大方差值對應(yīng)的時間段,并確定所述最大方差值對應(yīng)的時間段對應(yīng)的路徑為出現(xiàn)問題的10路徑。
全文摘要
本發(fā)明公開了一種服務(wù)器IO診斷的方法及裝置,涉及服務(wù)器技術(shù)領(lǐng)域,實現(xiàn)了對每個bio處理過程的跟蹤,能夠根據(jù)比較結(jié)果直接確定出現(xiàn)問題的IO路徑,不必去逐個排除影響因素,從而提高了IO診斷的效率。本發(fā)明的具體實施例包括通過計算獲取的若干個bio各自對應(yīng)的調(diào)度時間段、存儲設(shè)備處理時間段和回調(diào)時間段的方差;并得到的方差數(shù)值進行比較,根據(jù)比較結(jié)果確定出現(xiàn)問題的IO路徑。本發(fā)明主要應(yīng)用于服務(wù)器IO診斷流程中。
文檔編號G06F11/26GK102945196SQ201210422249
公開日2013年2月27日 申請日期2012年10月29日 優(yōu)先權(quán)日2012年10月29日
發(fā)明者錢天進, 晏臣 申請人:杭州華為數(shù)字技術(shù)有限公司