什麼是閱讀與DBMS風格的訪問模式文件的最佳方法的連續運行;我的意思是以下幾點:使用Linux capabilites讀取塊
- 我知道之前我需要獲取的頁面偏移量。
- 有很多連續的頁面。
- 可能有小的不連續性。
- 可能會有很長的不連續性。
- 所有的偏移量都是有序的(不支持前進運動)。
這種偏移列表的示例: 1,2,3,4,5,6,7,8,1000,1001,1003,1004,1005,1010,1011,1012,31004,31005,31006 。
我是爲了使用以獲得最佳的性能,其策略有點糊塗了。
- 難道我靠Linux的頁面經理?怎麼樣?會一直循環通過 偏移量並讀取1個塊嗎?
- 公開賽O_DIRECT文件和管理我的自我,即:交替的長讀取,並尋求。在這種情況下,我應該禁用readahead嗎?
'O_DIRECT'可以是非常難用,因爲你必須自己管理的對齊方式。 – Mysticial 2012-07-17 16:48:01
您可以使用Linux'aio'或posix'aio'界面,並排列您的所有請求。司機應該能夠找出完成讀取的最佳方式。 – jxh 2012-07-17 17:10:14
您是否嘗試過mmap,查看性能? – alinsoar 2012-07-17 17:51:42