GlusterFS性能調(diào)優(yōu)基本思路
基于GlusterFS構(gòu)建的集群NAS系統(tǒng)是一個復(fù)雜的系統(tǒng)工程,其整體性能表現(xiàn)與特定應(yīng)用特征、硬件和軟件配置等息息相關(guān)。系統(tǒng)部署時,如果性能與估算或經(jīng)驗(yàn)值相差較大,則需要根據(jù)實(shí)際情況進(jìn)行性能調(diào)優(yōu)。根據(jù)Gluster系統(tǒng)組成,性能調(diào)優(yōu)主要從硬件、OS系統(tǒng)和GlusterFS文件系統(tǒng)三大部分著手,通過測試和實(shí)驗(yàn)分析得出影響性能的關(guān)鍵點(diǎn),然后有針對性的實(shí)施調(diào)優(yōu)方法。導(dǎo)致性能問題的典型情景有如下幾種:
(1)不正確的磁盤配置;
(2)不正確的網(wǎng)絡(luò)配置;
(3)硬件本身存在故障;
(4)服務(wù)器數(shù)量不足;
(5)不正確的文件訪問協(xié)議;
1、硬件調(diào)優(yōu)
從一定程度上講,GlusterFS的性能依賴于硬件基礎(chǔ)設(shè)施,主要涉及服務(wù)器、CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等部件,硬件性能直接決定著系統(tǒng)理論上的***性能。當(dāng)性能不能滿足應(yīng)用需求時,我們應(yīng)當(dāng)首先分析是否硬件配置是否足夠。如果硬件配置存在明顯問題,可以直接通過升級硬件配置來直接提升性能,比如更多更高性能的CPU,更多的內(nèi)存,更多或更快的磁盤,更多的網(wǎng)絡(luò)接口或更快的網(wǎng)絡(luò)。
2、OS系統(tǒng)調(diào)優(yōu)
通常情況下,系統(tǒng)缺省的參數(shù)設(shè)置是為了適應(yīng)更多的應(yīng)用負(fù)載,但性能往往不是***的,比如I/O調(diào)度算法、Cache參數(shù)、進(jìn)程調(diào)度親和度、磁盤文件系統(tǒng)參數(shù)、mount參數(shù)、網(wǎng)絡(luò)通信參數(shù)等。可以針對具體的應(yīng)用特征,基于理論分析和實(shí)驗(yàn)測試,對這些參數(shù)進(jìn)行個性化配置,以獲得更高的性能提升。
3、GlusterFS文件系統(tǒng)調(diào)優(yōu)
Gluster的底層核心是GlusterFS分布式文件系統(tǒng),為了滿足不同的應(yīng)用負(fù)載需求,它提供了許多可調(diào)節(jié)的系統(tǒng)參數(shù),其中與性能調(diào)優(yōu)相關(guān)的主要參數(shù)包括:
(1)全局Cache-Size,缺省值32MB
(2)每文件Write-Cache-Size,缺省值1MB
(3)I/O并發(fā)數(shù)量,缺省值16
(4)Read-ahead開關(guān),缺省值On
(5)條帶大小,缺省值128KB
以上這些系統(tǒng)參數(shù)設(shè)置沒有普遍適用的經(jīng)驗(yàn)值,需要根據(jù)實(shí)際情況進(jìn)行理論分析和實(shí)驗(yàn)測試,從而確定***的系統(tǒng)參數(shù)。如果硬件配置足夠,應(yīng)該適當(dāng)提升這些系統(tǒng)參數(shù)設(shè)置,以獲得更高的整體性能。