1)檢查你的磁盤的扇區大小。
2)確保磁盤被整理。
3)爲了提高緩存局部性(緩存由操作系統執行,許多硬盤也有內置緩存),讀取「本地」數據。
4)連續寫入數據。
對於寫入性能,緩存內存中的數據塊直到達到扇區大小的倍數,然後啓動異步寫入磁盤。不要覆蓋當前正在寫入的數據,直到確定數據已被寫入(即同步寫入)。雙緩衝或三重緩衝可以在這裏幫助。
爲了獲得最佳讀取性能,您可以雙重讀取緩衝區。因此,讓我們說你在讀取時緩存16K塊。將第一個16K從磁盤讀入塊1.啓動對塊2中的第二個16K的異步讀取。開始工作塊1.當完成塊1同步時,讀取塊2,並開始異步讀取到塊1中第3個16K塊放入塊1.現在在塊2上工作。完成第3個16K塊的讀取同步後,啓動第4個16K的異步讀入塊2,並在塊1上工作。沖洗並重復,直到處理完所有數據。
如前所述,你必須閱讀的時間就越少會失去從磁盤讀取,因此很可能是值得一讀的壓縮數據和花費的CPU時間擴大讀上每個塊的數據就越少。在寫入之前同等壓縮塊會節省磁盤時間。無論這是否勝利,取決於您對數據處理的CPU密集程度。
此外,如果在塊的處理是不對稱的(即處理塊1能夠採取的3倍,只要處理塊2)然後考慮三重或多種緩衝劑進行讀取。
來源
2011-01-25 15:06:20
Goz
數據保存在緩存和寫儘可能少,它太慢了。 – BlackBear 2011-01-25 14:57:01