一種文件系統性能統計方法與系統的制作方法
【技術領域】
[0001]本發明涉及計算機存儲領域,特別是涉及一種文件系統性能統計方法與系統。
【背景技術】
[0002]隨著網絡應用的迅速發展,網絡信息數據量越來越大,PB級別的海量數據存儲變得越來越重要,大容量的分布式文件系統顯得尤為重要。
[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 ]圖1為本發明一種文件系統性能統計方法實施例的流程圖;
[0032]圖2為本發明一種文件系統性能統計方法實施例的原理示意圖;
[0033]圖3為本發明一種文件系統性能統計系統實施例的結構示意圖;
[0034]圖4為本發明一種文件系統性能統計系統實施例的詳細結構示意圖。
【具體實施方式】
[0035]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行
[0036]清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0037]本發明提供了一種文件系統性能統計方法,圖1示出了本發明文件系統性能統計方法實施例的流程圖,包括:
[0038]步驟S101:響應性能統計指令,指定共享內存區域;
[0039]掛載文件系統,對文件系統進行讀寫操作,客戶端發送性能統計指令,分配和初始化共享內存區域,可通過寫入特殊的命令控制統計功能的開關,保證文件系統在正常運行下性能不受影響。
[0040]步驟S102:進行文件操作時將文件操作信息進行統計得到文件操作統計信息;
[0041]服務端通過共享內存檢測到客戶端發送的性能統計指令,進行文件操作信息的統計,文件操作信息包括:文件操作類型、文件操作次數和文件操作延遲等,文件操作類型包括新增和刪除等,當文件操作信息為文件操作類型時,將各次文件操作按文件操作類型進行次數累加,得到各文件操作類型的次數;當文件操作信息為文件操作次數時,將各次文件操作進行次數累加,得到文件操作總次數;當文件操作信息為文件操作延遲時,統計各次文件操作的耗時,得到文件操作延遲。
[0042]步驟S103:將所述文件操作統計信息保存至所述共享內存區域,令客戶端通過訪問所述共享內存獲取所述文件操作信息。
[0043]將統計的文件操作統計信息保存至共享內存區域,客戶端可直接訪問共享內存,獲取性能數據后輸出到控制臺或者文件,在讀取共享內存時,為了防止重復讀取性能數據,需要在共享內存中保存一個文件指針,標識當前所讀的某一條性能數據。
[0044]本實施例可以為每一個文件操作(例如新增、刪除文件等)定義一個統計對象,包括操作類型、次數和延遲等,在每一個文件操作中,進行操作次數和延遲的統計,然后將該統計對象保存到指定的共享內存中。如果文件系統為多線程系統,可以通過加鎖的方式保存到同一個統計對象,也可以在共享內存中為每個線程分配私有空間,即在所述共享內存區域中為各線程分別分配對應的