檔案系統測試 Windows下模擬海量檔案

2021-08-03 10:57:13 字數 1310 閱讀 5997

背景:

擬根據車牌號碼按照日期記錄其過車資訊。

測試方案:

資料存放資料夾為:「%root%/passing_info_data」

以「京a12345」車牌為例,構建形如「%root%/passing_info_data/京/a/1/2/3/4/5/」檔案目錄

模擬車牌號碼數量500萬

模擬資料日期跨度:45天

模擬每日隨機過車記錄:1000條

記錄內容為:過車時間(long),過車地點(int)

模擬策略:

檢查車牌檔案是否存在

存在,載入之

不存在,模擬500萬,並同時儲存

第一步:

檢查車牌目錄是否存在,不存在建立之,

結果,500萬成功建立

現象:win7系統下,單硬碟,擴充套件分割槽狀態下,每建立2000左右資料夾,程式暫停約5秒

分析:系統在有需要的時候預分配檔案分配表空間

過程:建立資料夾時使用 directory.createdirectory("path"),

建立系統函式建立,使用已經分配的檔案分配表,達到上限後,系統加鎖,新申請檔案分配表空間,系統解鎖

建立時作業系統預分配檔案分配表,高速建立時,硬碟分配表空間快速被使用完畢

檔案分配表在作業系統級保證多執行緒操作安全,分配時加鎖

第二步:

使用華為儲存存放資料,iscsi方式連線

結果,500萬資料夾建立成功

現象:win2008r2下,磁碟陣列,華為,程式暫停不明顯

千兆網絡卡連線陣列,網路頻寬占用2%左右

分析:華為陣列的資料使用了快取+raid5機制,華為陣列本身實現檔案及檔案分配表的管理,效果較好

第三步:

在本機模擬建立檔案並寫入,500萬*45天 = 22500萬 檔案,win2008r2 32執行緒全速寫入,效率低,同樣遇到檔案分配表問題

側面:searcheverything 軟體的檔案列表資料庫及記憶體占用達到了10g

其他:全部檢測資料夾是否存在:32執行緒,220秒

已知檔名,檢測是否存在,檢測時間暫時推論與硬碟上檔案數量關係不大,o(1)

需要進行的下一步學習,

如何高效利用磁碟的檔案快速定位

如何協調硬碟的最小讀取單元與業務資料之間的關係

如何合理有效的使用華為儲存的快取機制

硬碟本身的二級快取是否能夠有效利用

erlang的dets中最大使用2g單個檔案

資料如何組織,能充分利用硬碟最小讀取單元,獲取盡可能多的有效資料

硬碟資料的組織,需要特定的資料結構,

stsdb中實現了瀑布樹結果,讀寫效率客觀,如何利用

Windows檔案系統 NTFS檔案系統

windows作為最流行的個人計算機作業系統,成為了我們學習 工作和生活的一部分。我們幾乎每天都會經歷開啟檔案管理器,進入具體磁碟,開啟具體檔案,而windows採用檔案系統管理著所有的檔案和磁碟空間,這個檔案系統就是ntfs。ntfs檔案系統 文件主要分為兩大部分 1.ntfs檔案系統簡介 2.檔...

Windows下訪問Linux檔案系統

很多從 windows 平台轉到 linux 下的朋友都不會只在機器上裝乙個 linux 而是保留著 windows 這樣,如果對 linux 不習慣,偶爾還可以切換回來。畢竟 windows 的桌面系統還是很人性化的。在 linux 下訪問windows 分割槽,特別是對老的 fat分割槽是非常容...

windows 檔案系統

檔案系統是作業系統用於明確儲存裝置 磁碟 固態硬碟 上組織檔案的方法。從系統角度來看,檔案系統是對檔案儲存裝置的空間進行組織和分配,負責檔案儲存並對存入的檔案進行保護和檢索的系統。fat32分割槽格式採用32位的檔案分配表,使其對磁碟的管理能力大大增強,突破了fat16對每乙個分割槽的容量只有2gb...