3.主機文件系統(tǒng)影響
在主機層次,通過指定最小最大的I/O request size,文件系統(tǒng)也影響了應用I/O的特性。
A.文件系統(tǒng)的緩沖和組合(coalesce)
跟在存儲系統(tǒng)上的cache相似的是,緩沖是文件系統(tǒng)提高性能的一種主要方式。
緩沖
在大部分的情況下,文件系統(tǒng)的緩沖應該最大化,因為這能減少存儲系統(tǒng)的負載。然而,還是會有一些意外。
一般來說,應用自己來調配緩沖,能避免文件系統(tǒng)的緩沖或者在文件系統(tǒng)的緩沖之外工作。這是基于應用能更加有效的分配緩沖的假設之上。而且,通過避免文件系統(tǒng)的coalesce,應用更能控制I/O的響應時間。但是,正如在64位的服務器里RAM的容量將會提升到32GB或者更多,這也就有可能把這個文件系統(tǒng)都放在緩沖里面。這就能使讀操作在緩沖下,性能會有非常顯著的提升。(寫操作應該使用寫透(write-through)的方式來達到數(shù)據(jù)的持續(xù)性。)
結合Coalescing
文件系統(tǒng)的coalesce能幫助我們從存儲系統(tǒng)里獲得更高的帶寬。在大部分順序訪問的操作里面,用最大鄰近和最大物理的文件系統(tǒng)設置來最大?文件系統(tǒng)的coalescing.例如,這種處理方式可以和備份程序一起把64KB的寫操作結合(coalesce)成一個完全stripe的寫操作,這樣在write cache被bypass的情況下,對于帶校驗的Raid會更加有效果。
B.最小化I/O的大?。何募到y(tǒng)的request size
文件系統(tǒng)通常都被配置成一個最小的范圍大小,例如4KB,8KB或者64KB,這是提供給陣列的最小的不可分割的請求。應用使用的I/O在比這個范圍大小要小的時候,會導致很多不必要的數(shù)據(jù)遷移和/或read-modify-write的情形出現(xiàn)。這也是考慮應用和文件系統(tǒng)文件的最佳設置的最好辦法。(it is best to consult application and file system documentation for the optimal settings)而request size沒有被文件系統(tǒng)限制的Raw partitions,則沒有受到這個約束。
C.最大化的I/O大小
如果想要快速的移動大量的數(shù)據(jù),那么一個大的I/O(64KB或更大)會更加有幫助。在整合(coalescing)順序的寫操作成Raid Group整個的stripe的時候,陣列將會更加有效率,正如預讀取大的順序讀操作一樣。大的I/O對從基于主機的stipe獲得更好的帶寬而言也是很重要的,因為他們將會被基于srtipe的toplogy打散成更小的大小。
D.文件系統(tǒng)的fragmentation
避免fragmentation和defragementation在一起,這是一個基礎的原則。注意NTFS文件系統(tǒng)可能被分區(qū)成任何形式除了默認的范圍大小,他們不能被大部分的工具所defragement:這個API(程序的接口)并不能允許這樣做。執(zhí)行一個文件級別的拷貝 (到另一個LUN或者執(zhí)行一個文件系統(tǒng)的備份和恢復)是defragement的一個有效的實現(xiàn)。
<未完待續(xù)>