小伙伴們大家好,JuiceFS v0.17 在國慶小長假來臨之際如期發布了!這是我們在 2021 年秋季推出的第二個版本,讓我們直奔主題,看看都有哪些新變化吧,
本次更新累計 80+ 提交,共有 9 位來自 JuiceFS 社區的小伙伴在 GitHub 上貢獻代碼,在這里,我們向每一位貢獻者表示最誠摯的感謝,同時歡迎螢屏前的你也加入到 JuiceFS 開源社區,貢獻代碼、檔案或討論想法,
通過 LTP 1270 項測驗,Linux 系統下兼容性更完美
JuiceFS 的最新版本針對 Linux 系統環境做了進一步的優化,改進了 rename 和 setxattr 讀其他引數的支持,順利通過了 LTP 的 1270 項測驗,
LTP(Linux Test Project)是一個由 IBM,Cisco 等多家公司聯合開發維護的專案,旨在為開源社區提供一個驗證 Linux 可靠性和穩定性的測驗集,LTP 中包含了各種工具來檢驗 Linux 內核和相關特性,
測驗結果:
Testcase Result Exit Value -------- ------ ---------- fcntl17 FAIL 7 fcntl17_64 FAIL 7 getxattr05 CONF 32 ioctl_loop05 FAIL 4 ioctl_ns07 FAIL 1 lseek11 CONF 32 open14 CONF 32 openat03 CONF 32 setxattr03 FAIL 6 ----------------------------------------------- Total Tests: 1270 Total Skipped Tests: 4 Total Failures: 5 Kernel Version: 5.4.0-1029-aws Machine Architecture: x86_64
其中,跳過和失敗的專案主要是由于幾個尚未支持的功能,詳情見此檔案,
優化存盤臨時資料的性能
針對 Spark 的 shuffle 檔案等臨時資料存盤需求,社區貢獻者祝威廉(@allwefantasy)給 JuiceFS 貢獻了資料延遲上傳功能,它可以讓 JuiceFS 優先將資料寫入到本地快取盤中,如果這些資料在短時間內又被洗掉,則無需寫入物件存盤,可以提供接近本地盤的讀寫性能,而當寫入資料很多時,又會自動寫到物件存盤來釋放本地盤空間,再也不用擔心 shuffle 資料把磁盤寫滿了,
這個新功能讓 JuiceFS 可以作為一個彈性本地盤使用,為臨時資料提供無限存盤空間和低延時訪問,
為了進一步提升性能,還新增了一個運行在客戶端記憶體中的元資料引擎(MemKV),與其他元資料引擎一樣,MemKV 的作用也是用來保存資料相關的元資訊,但它不持久化,客戶端 umount 以后,MemKV 的元資料就釋放了,MemKV 完全在記憶體中運行,有著絕對的性能優勢,非常適合用作臨時檔案的存盤場景,
TiKV 元資料引擎在 Hadoop 場景中性能提升 5 倍
JuiceFS Java 客戶端需要頻繁做路徑決議,Redis 引擎通過 Lua 實作了服務器端的多級路徑決議,而 SQL 和 TiKV 引擎仍然需要多次元資料請求才能決議一個路徑,尤其是當路徑比較深時對影響有比較大的影響,
為了解決這個問題,本次更新在 JuiceFS Hadoop SDK 客戶端中引入了類似于 Linux 內核的元資料快取機制,可以分別通過引數控制目錄、檔案和屬性的過期時間,可以通過如下的方式啟用:
<property> <name>juicefs.attr-cache</name> <value>3</value> </property> <property> <name>juicefs.entry-cache</name> <value>3</value> </property> <property> <name>juicefs.dir-entry-cache</name> <value>3</value> </property>
以下是對 9 層目錄的元資料性能測驗,可以看到啟用元資料快取夠大幅提升元資料操作的性能,(數值代表操作的時延,越小越好,)
但需要注意的是,開啟元資料快取后會影響多客戶端之間的一致性(有限時間視窗的最終一致性),比如一個客戶端洗掉了某個檔案后,其他節點可能因為快取未到期,仍然認為檔案存在,因此,一般建議在查詢場景下使用該功能,如果是混合讀寫的場景,建議適當開啟目錄和屬性的快取,而關閉檔案項的快取,
1 分鐘上手性能測驗,結果一目了然
我們為 JuiceFS 內置的性能測驗工具 bench 的結果做了進一步的優化,在簡潔直觀的基礎上,進一步的讓關鍵資料高亮顯示,如果某項性能資料偏離正常區間,會顯示為黃色甚至紅色,建議特別關注下,
有關 JuiceFS 新版的更多內容,歡迎訪問 GitHub 專案主頁了解詳情:
推薦閱讀:
如何借助 JuiceFS 為 AI 模型訓練提速 7 倍
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/303451.html
標籤:其他
上一篇:JuiceFS v0.17 發布,通過 1270 項 LTP 測驗!
下一篇:Hive語法及其進階(一)
