您好,登錄后才能下訂單哦!
這篇文章主要介紹了ceph jewe手動編譯安裝的優化技巧有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、手動安裝ceph。
根據http://my.oschina.net/linuxhunter/blog/682013,手動安裝jewel版本ceph到硬件服務器。
二、測試ceph集群的方法。
使用ceph自帶的rados bench命令簡單測試手動搭建ceph集群的性能,查看系統性能的工具使用perf命令。由于默認安裝的ubuntu環境沒有安裝perf工具及其依賴,所有要手動安裝perf工具。#apt-get install perf linux-tools-4.4.0-21-generic。安裝完成后啟用兩個終端分別運行#perf top命令和#rados banch -p test_rbd 60 write --no-cleanup命令。
三、發現的問題。
在運行#perf top命令的終端上發現ceph-osd在調用ceph_crc32_sctp這個函數上占用了35%的CPU時間,而此時集群的壓力并不大,因此決定從源代碼上找找ceph_crc32_sctp為什么占用那么多的CPU時間。
ceph_crc32_sctp這個函數位于src/common/sctp_crc32.c這個文件中,只有ceph_choose_crc32函數調用ceph_crc32_sctp函數。分析ceph_choose_crc32這個函數不難發現,該函數根據當前CPU的架構來選擇計算crc32的方法。若CPU是intel的CPU且支持sse4指令集,則使用硬件計算crc32值(調用ceph_crc32_intel_fast函數),否則使用軟件計算crc32值(調用ceph_crc32_sctp函數)。我們使用的CPU是intel Xeon 2560 v2,當然支持sse4指令集。
四、解決問題的方法。
要想讓ceph支持硬件計算crc32值,就的在編譯ceph的時候安裝yasm工具包,使得ceph可以正確通過匯編語句訪問硬件。因此需要手動安裝yasm工具包,即:#apt-get install yasm。之后按照http://my.oschina.net/linuxhunter/blog/682013重新手動編譯并安裝ceph。
五、優化結果。
基于yasm工具包編譯后的ceph,再經過rados bench測試后發現在perf top中ceph-osd進程中crc32_iscsi_00函數占用8%左右的CPU時間,而crc32_iscsi_00函數正是被ceph_crc32_intel_fast函數所調用。因此基于yasm編譯后的ceph會充分利用硬件CPU特性來計算crc32的值,因此cpu占用率會下降很多,從35%下降到8%。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“ceph jewe手動編譯安裝的優化技巧有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。