一種分布式文件系統性能瓶頸定位方法、裝置和系統的制作方法
【技術領域】
[0001]本發明涉及性能檢測技術領域,特別是涉及一種分布式文件系統性能瓶頸定位方法、裝置和系統。
【背景技術】
[0002]分布式文件系統由元數據服務器、數據服務器和客戶端組成。一般來說,一個文件的操作首先進行元數據操作,其后是文件數據操作。目前,在讀寫大文件(文件大小大于或等于10MB的文件)的應用場合主要是考慮文件系統的吞吐量,也就是數據的性能。因為大文件應用元數據請求有限,主要壓力是在數據存儲上。而針對小文件(文件大小小于10MB的文件)的應用場合,特別是512KB到10ΜΒ之間的小文件,在系統應用中并不能直觀地分析出整個分布式文件系統的瓶頸點。
【發明內容】
[0003]有鑒于此,本發明實施例提供一種分布式文件系統性能瓶頸定位方法、裝置和系統,以解決現有技術中針對小文件的應用場合,在系統應用中并不能直觀地分析出整個分布式文件系統的瓶頸點的問題。
[0004]為實現上述目的,本發明實施例提供如下技術方案:
[0005]—種分布式文件系統性能瓶頸定位方法,包括:
[0006]通過元數據服務器創建預設數目的文件,得到所述元數據服務器創建每個所述文件的第一速率或創建所有所述文件消耗的第一總時間;
[0007]通過數據服務器在每個所述文件中分別寫入預設大小的數據,所述預設大小小于預設閾值,得到所述數據服務器寫入每個所述數據的第二速率或寫入所有所述數據消耗的第二總時間;
[0008]若所述第一數據大于所述第二數據或所述第一總時間小于所述第二總時間,則確定所述數據服務器性能瓶頸;
[0009]若所述第一數據小于所述第二數據或所述第一總時間大于所述第二總時間,則確定所述元數據服務器性能瓶頸。
[0010]其中,所述確認所述數據服務器性能瓶頸后還包括:對所述數據服務器進行性能優化,提高所述數據服務器性能。
[0011]其中,所述確認所述元數據服務器性能瓶頸后還包括:對所述元數據服務器進行性能優化,提供所述元數據服務器性能。
[0012]其中,所述通過元數據服務器創建預設數目的文件,得到所述元數據服務器創建每個所述文件的第一速率或創建所有所述文件消耗的第一總時間包括:
[0013]向所述元數據服務器發送文件建立請求,請求所述元數據服務器建立預設數目的文件;
[0014]接收所述元數據服務器創建所有預設數目的文件后返回的第一反饋信息,所述第一反饋信息包括所述元數據服務器開始創建所述文件的第一時間點,和所述元數據服務器創建完成所有所述文件的第二時間點;
[0015]根據所述第一時間點和第二時間點得到所述元數據服務器創建所有所述文件消耗的第一總時間,或根據所述第一時間點、第二時間點和所述預設數目得到所述元數據服務器創建每個所述文件的第一速率。
[0016]其中,所述通過數據服務器在每個所述文件中分別寫入預設大小的數據,所述預設大小小于預設閾值,得到所述數據服務器寫入每個所述數據的第二速率或寫入所有所述數據消耗的第二總時間包括:
[0017]向所述數據服務器發送數據寫入請求,請求所述數據服務器在每個所述文件中分別寫入預設大小的數據;
[0018]接收所述數據服務器寫入所有所述數據后返回的第二反饋信息,所述第二反饋信息包括所述數據服務器開始寫入所述數據的第三時間點,和所述數據服務器寫入完成所有所述數據的第四時間點;
[0019]根據所述第三時間點和第四時間點得到所述數據服務器寫入所有所述數據消耗的第二總時間,或根據所述第三時間點、第四時間點和所述預設數目得到所述數據服務器寫入每個所述數據的第二速率。
[0020]一種分布式文件系統性能瓶頸定位裝置,包括:第一計算模塊、第二計算模塊和定位模塊;其中,
[0021 ]所述第一計算模塊,用于通過元數據服務器創建預設數目的文件,得到所述元數據服務器創建每個所述文件的第一速率或創建所有所述文件消耗的第一總時間;
[0022]所述第二計算模塊,用于通過數據服務器在每個所述文件中分別寫入預設大小的數據,所述預設大小小于預設閾值,得到所述數據服務器寫入每個所述數據的第二速率或寫入所有所述數據消耗的第二總時間;
[0023]所述定位模塊,用于當所述第一數據大于所述第二數據或所述第一總時間小于所述第二總時間時,確定所述數據服務器性能瓶頸,當所述第一數據小于所述第二數據或所述第一總時間大于所述第二總時間時,確定所述元數據服務器性能瓶頸。
[0024]其中,所述分布式文件系統性能瓶頸定位裝置還包括:優化模塊,用于當所述定位模塊確定所述數據服務器性能瓶頸后,對所述數據服務器進行性能優化,提高所述數據服務器性能,當所述定位模塊確認所述元數據服務器性能瓶頸后,對所述元數據服務器進行性能優化,提供所述元數據服務器性能。
[0025]其中,所述第一計算模塊包括:第一發送單元,第一接收單元和第一計算單元;其中,
[0026]所述第一發送單元,用于向所述元數據服務器發送文件建立請求,請求所述元數據服務器建立預設數目的文件;
[0027]所述第一接收單元,用于接收所述元數據服務器創建所有預設數目的文件后返回的第一反饋信息,所述第一反饋信息包括所述元數據服務器開始創建所述文件的第一時間點,和所述元數據服務器創建所有所述文件的第二時間點;
[0028]所述第一計算單元,根據所述第一時間點和第二時間點得到所述元數據服務器創建所有所述文件消耗的第一總時間,或根據所述第一時間點、第二時間點和所述預設數目得到所述元數據服務器創建每個所述文件的第一速率。
[0029]其中,所述第二計算模塊包括:第二發送單元,第二接收單元和第二計算單元;其中,
[0030]所述第二發送單元,用于向所述數據服務器發送數據寫入請求,請求所述數據服務器在每個所述文件中分別寫入預設大小的數據;
[0031]所述第二接收單元,用于接收所述數據服務器寫入所有所述數據后返回的第二反饋信息,所述第二反饋信息包括所述數據服務器開始寫入所述數據的第三時間點,和所述數據服務器寫入所有所述數據的第四時間點;
[0032]所述第二計算單元,根據所述第三時間點和第四時間點得到所述數據服務器寫入所有所述數據消耗的第二總時間,或根據所述第三時間點、第四時間點和所述預設數目得到所述數據服務器寫入每個所述數據的第二速率。
[0033]—種分布式文件系統性能瓶頸定位系統,包括:上述的分布式文件系統性能瓶頸定位裝置、元數據服務器和數據服務器;其中,
[0034]所述分布式文件系統性能瓶頸定位裝置,用于通過所述元數據服務器創建預設數目的文件,得到所述元數據服務器創建每個所述文件的第一速率或創建所有所述文件消耗的第一總時間;通過所述數據服務器在每個所述文件中分別寫入預設大小的數據,所述預設大小小于預設閾值,得到所述數據服務器寫入每個所述數據的第二速率或寫入所有所述數據消耗的第二總時間;若所述第一數據大于所述第二數據或所述第一總時間小于所述第二總時間,則確定所述數據服務器性能瓶頸;若所述第一數據小于所述第二數據或所述第一總時間大于所述第二總時間,則確定所述元數據服務器性能瓶頸;
[0035]所述元數據服務器,用于創建預設數目的文件。
[0036]所述數據服務器,用于在所述元數據服務器創建的每個所述文件中分別寫入預設大小的數據。
[0037]其中,所述元數據服務器包括:第三接收單元、第一記錄單元和第三發送單元;其中,
[0038]所述第三接收單元,用于接收所述分布式文件系統性能瓶頸定位裝置發送的文件建立請求,根據所述文件建立請求創建預設數目的文件;
[0039]所述第一記錄單元,用于記錄開始創建所述文件的第一時間點,和創建完成所有所述文件的第二時間點,得到第一反饋信息;
[0040]所述第三發送單元,用于將所述第一反饋信息返回給所述分布式文件系統性能瓶頸定位裝置;
[0041]其中,所述數據服務器包括:第四接收單元、第二記錄單元和第四發送單元;其中,
[0042]所述第四接收單元,用于接收所述分布式文件系統性能瓶頸定位裝置發送的數據寫入請求,根據在每個所述文件中分別寫入預設大小的數據;
[0043]所述第二記錄單元,用于記錄開始寫入所述數據的第三時間點,和寫入完成所