亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: readahead的疑問 [打印本頁]

作者: toniz    時間: 2012-09-27 11:15
標題: readahead的疑問
對一個海量小文件的服務器做IO優(yōu)化,這個時候readahead是調(diào)小好點還是調(diào)大好點?

按照IO優(yōu)化提前讀,延遲寫。那么readahead應該是調(diào)大會好點,但網(wǎng)上很多資料都建議調(diào)小。這是為何!求解。。

作者: embeddedlwp    時間: 2012-09-27 11:19
回復 1# toniz



readahead的前提是sequetional read,如果是random read就不要readahead了,不然反而降低performance。


   
作者: toniz    時間: 2012-09-27 15:13
好的 謝謝回復

這個意思是不是說,因為服務器小文件太多,所以會導致緩存命中率很低。因此如果系統(tǒng)如果維護一個較大的readahead,反而會導致性能降低。
作者: 瀚海書香    時間: 2012-09-27 21:42
回復 3# toniz
這個還是詳細測試一下吧。不能只是從理論上推測。

   
作者: tempname2    時間: 2012-09-27 21:51
這跟文件大小沒關系,而是看預讀出來的東西被后續(xù)使用的幾率有多大。
作者: toniz    時間: 2012-10-05 17:33
好的  謝謝兩位

作者: hb12112    時間: 2012-10-09 20:02
一般來說小文件的sequetional會比較差,readahead太大的話,命中率不高。反而會降低了性能。
作者: namewr    時間: 2012-10-09 21:40
Readahead不是會動態(tài)的調(diào)整嗎?
作者: linuxfellow    時間: 2012-10-11 11:10
本帖最后由 linuxfellow 于 2012-10-11 11:13 編輯

回復 1# toniz
大量小文件readahead應該調(diào)小,原因是這樣的:
如果你有100頁用于page cache, 用于50個讀取文件讀取,每個文件讀一頁,預取一頁;如果50個文件被訪問的機會一樣,這種一頁的預取會將50個文件都照顧到,能得到較好的效果;如果每個文件每個文件讀一頁,預取兩頁,你只能為33個文件預讀,會有1/3的機會miss。 這時readahead值取小一些,效果就好一些
如果你的系統(tǒng)里只有10個文件經(jīng)常被訪問,其他文件被訪問的頻度很小,那么這時readahead值取大一些,效果就好一些。完全取決于你的系統(tǒng)
作者: toniz    時間: 2012-10-13 15:32
回復 9# linuxfellow


    多謝linuxfellow,很詳細的解釋。了解了,在pagecache一定的情況下,調(diào)小readhead是為了照顧更多的文件。
作者: namewr    時間: 2012-10-13 22:01
記得可以用系統(tǒng)調(diào)用可以取消某些程序的readahead
作者: embeddedlwp    時間: 2012-10-23 12:10
回復 11# namewr


可以用madvise MADV_RANDOM


   
作者: embeddedlwp    時間: 2012-10-23 12:23
回復 5# tempname2


你這個可能是老版本的思想吧

   
作者: yezj2004    時間: 2012-11-01 00:30
確實值得好好看看,頂先
作者: chengmao2010    時間: 2012-11-15 10:15
pagecache太小而預讀設置太大,容易出現(xiàn)內(nèi)存抖動!




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2