前言
可靠性、安全性和性能是IT系統(tǒng)最重要的三個評價維度。對于IT系統(tǒng)來說,可靠性和安全性是基礎(chǔ),系統(tǒng)故障或數(shù)據(jù)泄露等造成的破壞性是顯而易見的;而性能則是核心能力,代表著IT系統(tǒng)的服務(wù)水平,性能瓶頸會制約企業(yè)業(yè)務(wù)的發(fā)展,嚴(yán)重影響用戶體驗(yàn)。
存儲系統(tǒng)是企業(yè)IT基礎(chǔ)架構(gòu)重要的組成部分,為企業(yè)內(nèi)部眾多的IT系統(tǒng)提供數(shù)據(jù)存儲服務(wù)。隨著數(shù)字化轉(zhuǎn)型的深入,企業(yè)的IT系統(tǒng)建設(shè)也進(jìn)一步加快,這一方面帶來了數(shù)據(jù)量的急劇增長,另一方面也提高了數(shù)據(jù)的訪問頻率,存儲的性能瓶頸的影響也會被進(jìn)一步放大。本文將結(jié)合個人運(yùn)維實(shí)踐,剖析存儲系統(tǒng)的架構(gòu)及運(yùn)行原理,深入分析各種存儲性能瓶頸場景,并提出相應(yīng)的性能優(yōu)化手段,希望對同行有一定的借鑒和參考價值。
1.存儲系統(tǒng)概述
了解存儲系統(tǒng)的架構(gòu)及其運(yùn)行原理是性能分析與優(yōu)化的入門課,才能去全局分析解決存儲性能問題。經(jīng)過多年的技術(shù)演進(jìn)和架構(gòu)變化,存儲系統(tǒng)可大致分為SAN存儲、NAS存儲以及分布式存儲這三類,它們有類似之處,又各有特點(diǎn)。下文將分別詳細(xì)剖析這三類存儲架構(gòu)及其運(yùn)行原理。
1.1 SAN存儲
SAN(Storage Area Network)本身是一個承擔(dān)數(shù)據(jù)存儲任務(wù)的存儲網(wǎng)絡(luò),與業(yè)務(wù)LAN網(wǎng)相互隔離。SAN存儲則是一種基于存儲塊的存儲系統(tǒng),一般使用FC、ISCSI、NVMe等通信協(xié)議。
架構(gòu)層面看,SAN存儲一般是存儲控制器后端掛載磁盤陣列,數(shù)據(jù)最終儲存在磁盤陣列,而磁盤陣列則包括了多個RAID組。N個磁盤組成一個RAID組,在RAID組之上又會被劃分出邏輯存儲單元LUN,也就是共享存儲池的邏輯磁盤,這些LUN會通過SAN網(wǎng)絡(luò)與服務(wù)器的HBA卡相連,從而會被服務(wù)器的操作系統(tǒng)識別為磁盤,并被分區(qū)和格式化后使用,其架構(gòu)如圖1所示。
圖1.SAN存儲架構(gòu)圖
從存儲的數(shù)據(jù)IO流角度來看,以常用的FC-SAN存儲為例,服務(wù)器操作系統(tǒng)一般會使用文件系統(tǒng)管理文件,文件系統(tǒng)是建立在存儲LUN之上,文件的讀寫會對應(yīng)著存儲的IO操作;文件會被分為多個Block,Block大小固定,一般是4KB-16KB;數(shù)據(jù)Block塊會被發(fā)送到服務(wù)器的HBA卡,HBA卡再將其轉(zhuǎn)換為FC協(xié)議的數(shù)據(jù)幀(Data frame),并通過SAN網(wǎng)絡(luò)傳輸?shù)酱鎯ο到y(tǒng)的前端口;存儲的前端口繼續(xù)將這些數(shù)據(jù)幀重新封裝成數(shù)據(jù)Block,Block大小一般為4KB,并將這些數(shù)據(jù)Block塊傳輸?shù)酱鎯刂破髦?;存儲控制器中會有存儲緩存(Cache),分為讀緩存與寫緩存,根據(jù)緩存的算法規(guī)則,部分緩存命中的IO數(shù)據(jù)流會立刻返回IO確認(rèn),緩存未命中的IO數(shù)據(jù)流則會需要繼續(xù)訪問磁盤陣列;由于多個磁盤組成了RAID組,一個數(shù)據(jù)IO流實(shí)際上對應(yīng)著多個磁盤的并發(fā)讀寫。整個過程如圖2所示:
圖2.FC-SAN存儲的數(shù)據(jù)IO流圖
1.2 NAS存儲
NAS(Network Attached Storage)存儲一般也可認(rèn)為是網(wǎng)絡(luò)文件存儲,用戶數(shù)據(jù)大多數(shù)以文件形式存在,通過以太網(wǎng)訪問模式走NFS/CIFS協(xié)議,提供了廣泛兼容性易用性的共享能力。相比于SAN存儲,NAS存儲不以磁盤形式提供存儲服務(wù),不需要分區(qū)和格式化,可以直接提供可以直接掛載的網(wǎng)絡(luò)文件系統(tǒng)。
架構(gòu)層面看,NAS存儲一般也是基于磁盤陣列(也有基于集群文件系統(tǒng)或分布式存儲的實(shí)現(xiàn)方式)實(shí)現(xiàn)的,在磁盤陣列之上會有NAS機(jī)頭來創(chuàng)建和管理文件系統(tǒng);NAS機(jī)頭是NAS存儲的核心邏輯部件,是典型的C/S架構(gòu)風(fēng)格,是對外提供網(wǎng)絡(luò)文件服務(wù)的Server端;其他client端在獲得授權(quán)后,可通過掛載文件系統(tǒng)、映射網(wǎng)絡(luò)磁盤或HTTP、FTP等方式就可以共享訪問NAS文件系統(tǒng)上的文件,其架構(gòu)如圖3所示:
圖3.NAS存儲架構(gòu)圖
從存儲的數(shù)據(jù)IO流角度來看,以NFS為例,NAS存儲是有著明顯異于SAN存儲的特點(diǎn),比如客戶端緩存、Server的無狀態(tài)性等。首先客戶端并不是直接訪問NAS文件系統(tǒng),而是客戶端緩存,是服務(wù)端的文件系統(tǒng)目錄樹映射到了客戶端,實(shí)際在文件讀寫時,需要循環(huán)讀寫固定大小的頁面,比如64KB;而Server端的無狀態(tài)性體現(xiàn)在不需要維護(hù)客戶端的協(xié)議狀態(tài)信息,客戶端通過RPC調(diào)用操作Server端的文件系統(tǒng)數(shù)據(jù),但也不能獲取Server端的狀態(tài),當(dāng)連接中斷時,可以不停地連接重試。如圖4所示,基于TCP的應(yīng)用層協(xié)議的NAS存儲數(shù)據(jù)IO流會更加靈活,適配性較強(qiáng),但數(shù)據(jù)IO路徑更長,數(shù)據(jù)一致性較差,還會存在數(shù)據(jù)泄露等安全問題,數(shù)據(jù)傳輸效率也不高。
圖4.nfs協(xié)議下的NAS存儲數(shù)據(jù)IO流圖
1.3分布式存儲
分布式存儲系統(tǒng)是采用可擴(kuò)展的集群架構(gòu),通過數(shù)據(jù)副本算法將數(shù)據(jù)分散存儲在多臺獨(dú)立的設(shè)備上,分布式集群之間一般通過通用TCP/IP網(wǎng)絡(luò)連接。相比于其傳統(tǒng)的集中式存儲陣列,分布式存儲系統(tǒng)可以通過多臺存儲服務(wù)器來分擔(dān)存儲負(fù)荷,可以滿足大規(guī)模存儲應(yīng)用的需要。常見的分布式存儲系統(tǒng)的形式包括分布式文件系統(tǒng)(如HDFS)和對象存儲(如Ceph)。
從架構(gòu)層面來看,與集中式存儲系統(tǒng)相比,分布式存儲系統(tǒng)的部署架構(gòu)相對簡單,一般是通用服務(wù)器網(wǎng)絡(luò)互聯(lián)的方式,但其邏輯架構(gòu)更加復(fù)雜。分布式存儲系統(tǒng)的核心設(shè)計(jì)思想是去中心化,去中心化的難點(diǎn)主要在于是主控節(jié)點(diǎn)的去中心化,有主控節(jié)點(diǎn)的架構(gòu)比如HDFS的架構(gòu)設(shè)計(jì)思路是map-reduce,化大為小,分而治之,再合并處理,其架構(gòu)中需要主控節(jié)點(diǎn)來協(xié)調(diào),只是主控節(jié)點(diǎn)的負(fù)載都分發(fā)到了數(shù)據(jù)節(jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn)上則存放著數(shù)據(jù)副本,每個數(shù)據(jù)副本又都分布在三個不同的數(shù)據(jù)節(jié)點(diǎn)上,如圖5所示;而無中心化的最大優(yōu)點(diǎn)是解決了主節(jié)點(diǎn)本身的瓶頸,其架構(gòu)設(shè)計(jì)思路則是均衡設(shè)計(jì),這種架構(gòu)只有數(shù)據(jù)節(jié)點(diǎn),但是需要抽象出更多的邏輯功能組件,并均衡分布在不同節(jié)點(diǎn)上。以Ceph塊存儲的使用方式為例,除了Mon等集群管理監(jiān)控組件之外,Ceph中OSD組件用于管理物理磁盤,基于OSD去構(gòu)建PG,而PG上存放著數(shù)據(jù)對象,數(shù)據(jù)對象則對應(yīng)著Ceph塊設(shè)備,Ceph塊設(shè)備可被格式化分區(qū),從而被應(yīng)用使用,其架構(gòu)圖如圖6所示。
圖5.有主控節(jié)點(diǎn)的分布式存儲架構(gòu)
圖6.無主控節(jié)點(diǎn)的Ceph存儲架構(gòu)
從存儲的IO數(shù)據(jù)流來看,不同于集中式存儲較少的數(shù)據(jù)通道,分布式存儲的數(shù)據(jù)入口可以更多更寬,但集群內(nèi)部的數(shù)據(jù)流也更多。還是以Ceph的塊存儲為例,客戶端應(yīng)用訪問的文件系統(tǒng)對應(yīng)的是Ceph塊設(shè)備,Block數(shù)據(jù)通過網(wǎng)絡(luò)訪問Ceph集群RBD服務(wù),最終對應(yīng)于三副本OSD的磁盤讀寫,流程如圖7所示。對于三副本的分布式存儲系統(tǒng),為保障數(shù)據(jù)的強(qiáng)一致性,一個寫IO,一般需要主副本和另外兩個從副本都寫完后,才能最終確認(rèn)寫完成。
圖7.Ceph存儲IO數(shù)據(jù)流圖
2.存儲性能分析
存儲性能分析是性能優(yōu)化的基礎(chǔ),雖然存在多種類型多種設(shè)計(jì)方案的存儲系統(tǒng),但性能分析方法卻具有一定的通用性。存儲性能分析方法可分為定性與定量兩種方式,通常在接觸了解、技術(shù)選型的初期可能并不具備定量分析的條件,則主要采用定性分析方法來評估存儲系統(tǒng)的性能;而一旦進(jìn)入POC測試、系統(tǒng)運(yùn)維等階段,則應(yīng)以定量分析為主,通過實(shí)際的性能指標(biāo)數(shù)據(jù)來判斷存儲性能瓶頸。
2.1定性分析
定性分析是結(jié)合個人的運(yùn)維經(jīng)驗(yàn),來分析存儲系統(tǒng)的性能是否能滿足應(yīng)用系統(tǒng)的需求,來分析存儲系統(tǒng)是否存在性能瓶頸,而這些都取決于對應(yīng)用數(shù)據(jù)類型和存儲系統(tǒng)的熟悉程度。
2.1.1應(yīng)用數(shù)據(jù)IO分析
了解應(yīng)用數(shù)據(jù)IO的類型,是存儲性能分析的基礎(chǔ)。不同應(yīng)用數(shù)據(jù)IO訪問存在著差異,主要體現(xiàn)在IO大小、順序或隨機(jī)讀寫、讀寫比例等方面,如表1所示。
表1.應(yīng)用程序的數(shù)據(jù)IO類型
IO大小
應(yīng)用數(shù)據(jù)類型的差異會帶來不同大小的數(shù)據(jù)文件,也對應(yīng)著不同的數(shù)據(jù)IO大小。假設(shè)存儲系統(tǒng)IO處理能力是固定的,顯然單位時間內(nèi)大IO處理的數(shù)據(jù)更多,那么合并小IO會更有效率;而假設(shè)存儲系統(tǒng)每次處理數(shù)據(jù)IO大小有上限,那么每次處理大IO前都需要拆分,顯然IO處理效率會下降。比如SAN存儲具有很高的IO處理能力,但單次處理的IO偏小,那么更適宜性能要求高的、小IO應(yīng)用系統(tǒng),而處理大IO應(yīng)用數(shù)據(jù)時,效率反而會下降。
讀寫比例
讀寫比例是應(yīng)用數(shù)據(jù)的重要特征之一,IO讀和寫操作存在著較大的差異。一般來說寫操作對于存儲性能的消耗更大,寫IO處理能力、延時都較高,對緩存的需求差異也較大。對于分布式存儲來說,多副本機(jī)制可以優(yōu)化讀操作,但卻不利于寫操作,寫確認(rèn)路徑較長,需要優(yōu)化數(shù)據(jù)傳輸路徑、配置更多的寫緩存,更適宜于讀比例較高的應(yīng)用系統(tǒng)。
順序或隨機(jī)讀寫
順序或隨機(jī)讀寫的差異主要表現(xiàn)在磁盤介質(zhì)特性、預(yù)讀取機(jī)制、緩存命中率等方面。對于機(jī)械硬盤來說,順序讀寫的IO可以減少磁盤尋道時間,隨機(jī)讀寫的IO則響應(yīng)時間變長,可以通過提高緩存命中率的方式,將緩存中的數(shù)據(jù)轉(zhuǎn)化為順序讀寫到磁盤;而SSD硬盤則不存在機(jī)械尋道,隨機(jī)讀寫能力會大大優(yōu)于機(jī)械硬盤。
2.1.2性能瓶頸分析
存儲性能分析的關(guān)鍵是對性能瓶頸進(jìn)行分析,包括兩方面的內(nèi)容:一是觸發(fā)性能瓶頸的因素;二是性能瓶頸的定位,找出存儲IO擁塞的位置。
1)觸發(fā)性能瓶頸的因素
存儲熱點(diǎn):存儲熱點(diǎn)是規(guī)劃設(shè)計(jì)中的缺陷,典型場景包括數(shù)據(jù)IO負(fù)載過于集中在某個存儲節(jié)點(diǎn)、端口、磁盤等,存儲資源爭用、鎖競爭,軟硬件參數(shù)的限制等。
性能尖峰:常見于數(shù)據(jù)IO高并發(fā)、性能需求短時間集中釋放的場景,性能尖峰更會充分暴露出存在的熱點(diǎn)問題,從而觸發(fā)存儲性能瓶頸,典型場景包括虛擬桌面啟動風(fēng)暴、秒殺類業(yè)務(wù)等。
服務(wù)能力下降:常見于故障場景,存儲服務(wù)能力下降疊加數(shù)據(jù)IO繁忙階段,會導(dǎo)致觸發(fā)存儲性能瓶頸。典型的故障場景包括SAN存儲單存儲控制器故障、磁盤rebuild等;分布式存儲更容易出現(xiàn)性能抖動,主要也是由于某個節(jié)點(diǎn)或磁盤掉線或重建數(shù)據(jù)副本或某個數(shù)據(jù)副本響應(yīng)變慢;客戶端服務(wù)器的CPU、內(nèi)存資源不足等。
2)性能瓶頸的定位
存儲性能瓶頸的定位需要結(jié)合存儲系統(tǒng)的架構(gòu)來分析,按照存儲系統(tǒng)的構(gòu)成大致可分為以下幾類性能瓶頸位置:
數(shù)據(jù)傳輸網(wǎng)絡(luò):存儲外接和內(nèi)接數(shù)據(jù)傳輸網(wǎng)絡(luò)的帶寬、端口速率、傳輸協(xié)議、傳輸路徑的負(fù)載均衡度
存儲控制器:控制器的CPU處理能力
緩存:主要分為客戶端緩存和存儲緩存,包括緩存大小、緩存命中率、讀寫緩存的分配比例
磁盤:主要分為機(jī)械硬盤、閃存盤等磁盤介質(zhì),包括磁盤轉(zhuǎn)速、單盤讀寫的IOPS、磁盤容量大小、磁盤數(shù)量、磁盤冗余(RAID、副本或糾刪碼)算法
客戶端:體現(xiàn)在客戶端的CPU、內(nèi)存等資源的使用情況、其他應(yīng)用對存儲資源的占用等外部環(huán)境的影響
2.2定量分析
定量分析是從數(shù)據(jù)指標(biāo)角度來分析解決問題,既可以從存儲側(cè)來度量存儲系統(tǒng)的服務(wù)能力,也可以從用戶應(yīng)用側(cè)來衡量存儲IO體驗(yàn)。一般來說,存儲側(cè)的定量分析排除了存儲網(wǎng)絡(luò)和客戶端的影響,性能數(shù)據(jù)能說明存儲系統(tǒng)本身是否存在性能瓶頸,可用于存儲系統(tǒng)的性能監(jiān)控;而用戶應(yīng)用側(cè)的定量分析主要用于一些性能測試場景,通過基準(zhǔn)測試工具,可以形成當(dāng)前系統(tǒng)環(huán)境的性能基線。
2.2.1三大性能指標(biāo)
無論是存儲側(cè)還是用戶應(yīng)用側(cè)的定量分析,都離不開三大存儲性能數(shù)據(jù)指標(biāo):IOPS、吞吐量(Throughput)、延時(Latency)。因此有必要弄清楚三個性能數(shù)據(jù)指標(biāo)的含義及其關(guān)聯(lián)關(guān)系。
IOPS:代表存儲每秒所處理的IO操作數(shù)量。對于存儲系統(tǒng)來說,我們在性能分析時,既需要關(guān)注整體的IOPS,有時也需要分析單個控制器、單個LUN或者單個磁盤的IOPS,甚至可能還需要區(qū)分讀或者寫的IOPS。
吞吐量(Throughput):代表存儲每秒所處理的IO數(shù)據(jù)量大小,也就是存儲數(shù)據(jù)傳輸所占用的帶寬,與IOPS類似,也可以細(xì)分讀或者寫,可以單獨(dú)組件分析。
延時(Latency):代表存儲系統(tǒng)處理IO操作所需要的時間,通常情況下,是最重要的存儲性能指標(biāo),與IOPS類似,也可以細(xì)分讀或者寫,可以單獨(dú)組件分析。
三大性能指標(biāo)分析中,對于大IO的應(yīng)用使用吞吐量來評測性能更加科學(xué);而小IO的應(yīng)用,比如數(shù)據(jù)庫,則需要通過IOPS和延時的指標(biāo)來評測性能,高IOPS和低延時同時滿足的情況下,才能應(yīng)對高并發(fā)且快速的數(shù)據(jù)庫訪問。
2.2.2性能測試分析
存儲性能測試可以更好地理解存儲的性能指標(biāo),以某個存儲性能測試為例,存儲壓測工具vdbench(可針對裸盤與文件兩種訪問方式的壓測),測試背景是存儲上分配了5個lun給主機(jī),主機(jī)對這五塊裸盤做隨機(jī)讀寫測試,80%讀20寫,逐漸調(diào)整IO的大小進(jìn)行測試,三大性能數(shù)據(jù)指標(biāo)如下表:
表2.存儲性能測試數(shù)據(jù)
該存儲性能測試的結(jié)論如下:
1)該存儲的控制器CPU使用率峰值在20%-45%,說明該存儲控制器還可以承受更高的IO負(fù)載,如圖8所示。
圖8.存儲控制器CPU使用率
2)該測試也未達(dá)到主機(jī)的系統(tǒng)性能瓶頸,CPU使用了低于20%,這一點(diǎn)在存儲性能分析中也很重要。
圖9.主機(jī)系統(tǒng)的CPU使用率
3)存儲性能基線:表2中的測試數(shù)據(jù)就是特定的主機(jī)使用該存儲的5個lun在不同IO負(fù)載下的性能基線數(shù)據(jù),在實(shí)際運(yùn)行過程中,考慮到其他應(yīng)用的IO、讀寫IO大小不均等因素,一般IOPS峰值在基線值的50%。
4)吞吐量和IOPS:吞吐量=IOPS*IO大小,相同的業(yè)務(wù)場景,一般IO大小不會有明顯變化,那么極限測試下的吞吐量與IOPS會呈正比關(guān)系,但吞吐量受限于網(wǎng)絡(luò)帶寬,IOPS又受限于存儲lun的處理能力;
5)延時和IOPS:可以看出測試數(shù)據(jù)中延時和IOPS呈現(xiàn)出反比關(guān)系,即IOPS越低,延時反而越高,這是由于不同的IO大小的測試場景下,存儲的負(fù)載壓力不一樣,即大IO的情況下,存儲負(fù)載變大,IOPS下降,延時加大。而存儲系統(tǒng)正常運(yùn)行狀態(tài)下的IOPS和延時關(guān)系如圖10所示,大多數(shù)情況下存儲的負(fù)載壓力變大,IOPS增加,延時也開始變大,一旦延時過高就會影響業(yè)務(wù)系統(tǒng)的性能。所以大多數(shù)情況下,延時是最重要的存儲性能指標(biāo),一般性能要求較高的業(yè)務(wù)系統(tǒng),存儲的延時需要低于5ms。
圖10.正常運(yùn)行狀態(tài)下的存儲IOPS和延時
3.存儲性能優(yōu)化
存儲性能分析與優(yōu)化是一項(xiàng)長期、復(fù)雜而重要的工作,需要明晰存儲性能優(yōu)化目標(biāo),做好詳細(xì)性能分析,并制定階段性的優(yōu)化方案和驗(yàn)證方案,以確保存儲性能優(yōu)化工作的持續(xù)開展。
3.1優(yōu)化策略
存儲性能優(yōu)化工作具有一定的策略性,科學(xué)的優(yōu)化策略才能指導(dǎo)制定更加合理的存儲性能優(yōu)化方案。
1)通盤考慮:存儲性能問題是一個全局性問題,需要通盤考慮IO路徑上的性能瓶頸,分析性能優(yōu)化方案中可能出現(xiàn)的連鎖反應(yīng),以提高性能優(yōu)化決策的正確性。
2)優(yōu)化的性價比:制定合理的性能優(yōu)化目標(biāo),在多種性能優(yōu)化方案的選擇上,要綜合考慮方案成本、實(shí)施復(fù)雜性、收益等。
3)規(guī)劃更重要:相比于存儲性能優(yōu)化帶來的優(yōu)化改造成本,提前做好合理的規(guī)劃更為重要。比如兼顧業(yè)務(wù)性能需求的存儲選型,系統(tǒng)上線前的存儲性能測試的基線數(shù)據(jù)及性能容量管理,存儲擴(kuò)容要關(guān)注性能容量指標(biāo)(評估擴(kuò)容后,存儲的IOPS/GB是否有較大變化),以及存儲性能負(fù)載的均衡分布等。
4)完善性能監(jiān)控:端到端的存儲性能也是非常重要的,對整個數(shù)據(jù)IO路徑進(jìn)行監(jiān)控,基于存儲性能基線來分析實(shí)際運(yùn)行中的性能數(shù)據(jù),從而及時發(fā)現(xiàn)存儲性能瓶頸,也能驗(yàn)證存儲優(yōu)化的成果。
3.2優(yōu)化方案
存儲性能優(yōu)化方案可以大致分為以下幾類:
1)硬件升級
單塊機(jī)械硬盤的IOPS在100左右,延時在5ms以上,而單塊SSD的IOPS在1萬以上,延時小于1ms,傳統(tǒng)機(jī)械硬盤替換為全閃存存儲,性能可以得到極大的提升;NVMe、RDMA等技術(shù)的應(yīng)用,優(yōu)化了底層通信框架,可以極大提高數(shù)據(jù)傳輸效率,降低存儲延時;存儲控制節(jié)點(diǎn)的橫向或縱向擴(kuò)展,可以有效增加存儲負(fù)載能力;客戶端的硬件升級,也能消除客戶端的CPU、內(nèi)存、網(wǎng)絡(luò)等帶來的性能瓶頸。
硬件升級是一種非常有效的存儲性能優(yōu)化手段,但是很多情況下需要比較高的硬件成本,投入產(chǎn)出比還需要仔細(xì)評估。
2)上層應(yīng)用優(yōu)化
上層應(yīng)用優(yōu)化手段也比較豐富,主要目標(biāo)是減少上層應(yīng)用帶給存儲的IO負(fù)載,比如數(shù)據(jù)傳輸前啟用重復(fù)數(shù)據(jù)刪除或數(shù)據(jù)壓縮;優(yōu)化IO并發(fā),將大量的小IO聚合成大IO;數(shù)據(jù)庫的索引優(yōu)化、SQL語句優(yōu)化。
3)調(diào)整性能負(fù)載
調(diào)整性能負(fù)載主要針對的存儲性能熱點(diǎn)問題,方案包括優(yōu)化磁盤分布方式,調(diào)整磁盤負(fù)載;調(diào)整存儲網(wǎng)絡(luò)端口負(fù)載;調(diào)整存儲控制器負(fù)載;新增存儲,將部分負(fù)載調(diào)整到新的存儲上。
4)數(shù)據(jù)緩存優(yōu)化
數(shù)據(jù)緩存是存儲系統(tǒng)中非常重要的性能模塊,一般緩存都采用內(nèi)存或閃存等速度更快的存儲介質(zhì),遠(yuǎn)遠(yuǎn)快于一般的磁盤。很多存儲性能問題都因緩存而起,也經(jīng)緩存優(yōu)化而終結(jié)。數(shù)據(jù)緩存分為客戶端本地緩存和存儲緩存。比如客戶端本地緩存對于一些分布式文件系統(tǒng)非常重要,增加緩存大小,可以有效提高緩存命中率;存儲的緩存也極為重要,多層級的數(shù)據(jù)緩存技術(shù)可將熱點(diǎn)數(shù)據(jù)存放在更快的存儲介質(zhì)上,降低存儲延時。