您好,登錄后才能下訂單哦!
這篇文章主要講解了“Glusterfs目錄ls性能優化方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Glusterfs目錄ls性能優化方法是什么”吧!
討論了glusterfs對文件系統爬蟲rsync/ls目錄性能的現有優化措施和可能的進一步優化方案。優化思路是減少本地文件系統的元數據操作,減少fuse client的負載,減少req的網絡輪詢次數,減少一次網絡通信時間,緩存預抓取,并發,異步,bulk 傳輸
centos 6.4最新內核,支持fuse readdirplus。微調mount timeout參數。
FUSE: Adaptive NFS-like readdirplus support http://lwn.net/Articles/532705/?format=printable
http://sourceforge.net/p/fuse/mailman/message/29562240/
這個已經合并到3.5release以后了。主要進行了單線程ls順序目錄讀的優化。通過在opendir時(在執行回調時)去提前抓取目錄項作為緩存,同時也會在glusterfs readdirplus支持(內核和glusterfs fuse都支持)的情況下,抓取目錄項的inode屬性和擴展屬性,readdir(p)時可以直接返回或者此時抓取目錄項緩存。基于fuse readdirplus性能會更加優化。基于fd生命周期進行的緩存。功能還很不強大,需要強化。
根據內核FUSE_AUTO_INVAL_DATA支持,啟用--fopen-keep-cache mount選項。 新內核版本支持。glusterfs fuse默認行為是寫操作是同步的,讀文件操作從page cache中讀。當打開一個文件時,失效原來file的page cache。啟用此選項后,就可以根據需要,如果原來file page cache 內容沒變,就不進行失效操作。
glusterfs3.4把quick-read(3.3就這一個translaotr)分解為openbehind和quick-read。原來設計不管操作文件的目的是什么,都要獲取真正的fd。重構后,可以根據文件操作目的,如果是修改文件內容,就在背景打開文件并進行操作。如果僅僅是fstat等類似操作,就利用匿名fd來進行,不會等待真正的fd。這樣根據操作目的,優化了性能。在lookup時根據需要,設置xdata key,在posix translator層就抓取文件內容。read操作執行到quick-read層時就返回文件內容。
主要是inode attr和xattr在readdir (p)時抓取;lookup只抓取當時操作的目錄或文件的inode屬性,而不是所有目錄項。這個translator可以對ls時候對stat和擴展屬性抓取導致的延遲進行優化。但目前我們一般關閉selinux和acl擴展屬性支持,所以擴展屬性的ls優化暫時不起作用。
io-threads 服務器和客戶端設置
libaio
scatter-gather IO
fuse內核當前支持4k readdir buffer大小。可以修改內核代碼支持較大chunk的buffer。readdir-ahead就是用一個glusterfs rpc 128k buffer進行了bulk獲取,但也僅僅是在用戶空間進行了預抓取。Brian Foster進行了這方面的優化實驗。
強化readdir-ahead,做成一個強大的client緩存架構,先做目錄項緩存,后面再考慮其他的。
多線程,非順序目錄讀的情況
緩存基于inode,進行持久緩存
Xavier Hernandez提出了取代inodelk/entrylk的一種無鎖架構,有助于在client實現一個強大的緩存。目前社區已經進行了一次討論緩存架構的頭腦風暴。正在跟進。
dht讀目錄本來就是順序(一個一個brick進行讀取),應該分析是否可以放寬這樣的限制
小文件合并為大文件的transtlaotr。這個可以參考hystack和tfs的實現。
參考hdfs的中央緩存架構,不在client做真正的緩存,而在brick端緩存,client只做路由。或者client和brick都做緩存。
分層存儲。這個glusters 已經在開始做了。
感謝各位的閱讀,以上就是“Glusterfs目錄ls性能優化方法是什么”的內容了,經過本文的學習后,相信大家對Glusterfs目錄ls性能優化方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。