背景:
擬根據車牌號碼按照日期記錄其過車資訊。
測試方案:
資料存放資料夾為:「%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...