<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深入淺出: 如何做好系統(tǒng)性能評(píng)估?

          共 8471字,需瀏覽 17分鐘

           ·

          2022-11-01 16:21

          ?

               在性能優(yōu)化項(xiàng)目實(shí)戰(zhàn)中,如“天天說(shuō)要做性能優(yōu)化,到底在優(yōu)化什么?”和“Linux系統(tǒng)性能優(yōu)化實(shí)戰(zhàn)”中,要根據(jù)業(yè)務(wù)真實(shí)訴求給出切合實(shí)際的性能配置,還需要針對(duì)業(yè)務(wù)模型進(jìn)行最佳實(shí)踐分析和洞察,從主機(jī)端口、存儲(chǔ)系統(tǒng)、后端磁盤(pán)等端到端進(jìn)行分析和評(píng)估,在本文中把常見(jiàn)的性能評(píng)估過(guò)程中的難點(diǎn)依次羅列,希望對(duì)大家有所幫助。


          IO聚合成滿分條寫(xiě)優(yōu)化寫(xiě)懲罰


               IO聚合成滿分條大小的情況下,無(wú)需做預(yù)讀操作,不會(huì)觸發(fā)RAID寫(xiě)懲罰,RAID寫(xiě)懲罰在不是滿分條寫(xiě)的時(shí)候,才會(huì)觸發(fā)預(yù)讀的流程。以RAID5-5小寫(xiě)為例,寫(xiě)一個(gè)數(shù)據(jù)位,需要預(yù)讀兩次,寫(xiě)校驗(yàn)位一次。可以認(rèn)為是一個(gè)IO被放大成了四個(gè)IO。


               

          而滿分條寫(xiě)的時(shí)候,同時(shí)寫(xiě)四個(gè)數(shù)據(jù)位,不需要預(yù)讀,只需要額外寫(xiě)一次校驗(yàn)位,可以認(rèn)為是四個(gè)IO被放大成了五個(gè)IO 。對(duì)比非滿分條寫(xiě),效率大大提高。



               存儲(chǔ)的IO合并能力對(duì)于數(shù)據(jù)庫(kù)業(yè)務(wù)是否各家都能做到IO合并呢?一般存儲(chǔ)針對(duì)不同類(lèi)型的IO有不同的合并能力;數(shù)據(jù)庫(kù)業(yè)務(wù)主要是隨機(jī)IO,各廠商都做不到完全滿分條IO合并。存儲(chǔ)收到的IO是否能夠合并,主要取決于兩個(gè)方面。


               1、主機(jī)側(cè)發(fā)下來(lái)的業(yè)務(wù)IO模型:IO是否順序,是否連續(xù),與主機(jī)業(yè)務(wù)軟件本身、主機(jī)側(cè)塊設(shè)備、卷管理策略、HBA卡拆分策略等相關(guān)。主機(jī)下發(fā)的IO越順序、越連續(xù),到達(dá)陣列后的合并效果越好。


               2、存儲(chǔ)側(cè)對(duì)IO的合并能力:IO路徑上的Cache、存儲(chǔ)塊設(shè)備、硬盤(pán)等模塊都會(huì)對(duì)IO進(jìn)行排序與合并的操作,試圖盡可能將小IO合成大IO下盤(pán)。


               對(duì)于順序小IO而言,基本上能夠?qū)崿F(xiàn)將IO都合并成滿分條后下盤(pán)。而對(duì)于IO隨機(jī)程度較高的數(shù)據(jù)庫(kù)業(yè)務(wù),各廠商都無(wú)法確保所有IO都能夠合并,只能盡量通過(guò)排序和合并,將相鄰地址的小IO合成大IO,但合并程度由于算法實(shí)現(xiàn)和內(nèi)存大小等因素可能會(huì)有所差異。

           

          OLTP、OLAP、VDI和SPC-1業(yè)務(wù)模型


               OLTP、OLAP、VDI和SPC-1是當(dāng)前性能評(píng)估中常見(jiàn)的三類(lèi)業(yè)務(wù)場(chǎng)景。SPC-1是業(yè)界通用的隨機(jī)IOPS型的IO模型,在不清楚實(shí)際業(yè)務(wù)類(lèi)型的條件下,常用此模型來(lái)進(jìn)行性能評(píng)估。四種模型的簡(jiǎn)單IO特征如下表所示。


              

           下面將分別介紹四種模型的業(yè)務(wù)特性與IO特征:


          一、OLTP業(yè)務(wù)模型和特征:


               1、業(yè)務(wù)特征:每個(gè)事務(wù)的讀,寫(xiě),更改涉及的數(shù)據(jù)量非常小,同時(shí)有很多用戶連接到數(shù)據(jù)庫(kù),使用數(shù)據(jù)庫(kù),要求數(shù)據(jù)庫(kù)有很快的響應(yīng)時(shí)間,通常一個(gè)事務(wù)在幾秒內(nèi)完成,時(shí)延要求一般在10-20ms。

               2、IO特征:針對(duì)DATA LUN,隨機(jī)小IO,IO大小主要為8KB(IO大小與數(shù)據(jù)庫(kù)的Block塊大小一致),讀寫(xiě)比約為3:2,讀全隨機(jī),寫(xiě)有一定合并。 針對(duì)LOG LUN,多路順序小IO,大小不定,幾乎都是寫(xiě)IO。


          二、OLAP業(yè)務(wù)模型和特征:


               1、業(yè)務(wù)特征:一般很少有數(shù)據(jù)修改,除非在批量加載數(shù)據(jù)時(shí);系統(tǒng)調(diào)用非常復(fù)雜的查詢語(yǔ)句,同時(shí)掃描非常多的行;一個(gè)查詢將花費(fèi)數(shù)小時(shí),甚至數(shù)天;主要取決于查詢語(yǔ)句的復(fù)雜程度;查詢的輸出通常是一個(gè)統(tǒng)計(jì)值,由group by與order by得出;當(dāng)讀取操作進(jìn)行時(shí),發(fā)生的寫(xiě)操作通常在臨時(shí)表空間內(nèi);平常對(duì)在線日志寫(xiě)入很少,除非在批量加載數(shù)據(jù)時(shí);分析型業(yè)務(wù),一般對(duì)時(shí)延沒(méi)有要求。

               2、IO特征:針對(duì)DATA LUN,多路順序大IO(可以近似認(rèn)為是隨機(jī)大IO),IO大小與主機(jī)側(cè)設(shè)置的分條大小有關(guān)(如512KB),90%以上為讀業(yè)務(wù),混合間斷讀寫(xiě)。針對(duì)TMP LUN,隨機(jī)IO,讀寫(xiě)混合(先寫(xiě)后讀,計(jì)算時(shí)寫(xiě),讀臨時(shí)表時(shí)讀,大部分是寫(xiě),占整個(gè)業(yè)務(wù)中很少部分的IO),IO大小基本為200KB以上大IO。


          三、VDI業(yè)務(wù)模型和特征


               1、業(yè)務(wù)特性:可以分為啟動(dòng)風(fēng)暴、登錄風(fēng)暴和平穩(wěn)狀態(tài)幾個(gè)常見(jiàn)場(chǎng)景,在不同的狀態(tài)下,業(yè)務(wù)壓力相差很大。啟動(dòng)風(fēng)暴,即大量虛擬機(jī)同時(shí)啟動(dòng)時(shí)的突發(fā)狀態(tài),是讀密集型操作,可以通過(guò)VSA(View Storage Accelerator 可以降低70%的讀負(fù)載)、分批錯(cuò)峰等操作規(guī)避。登錄風(fēng)暴,即大量用戶同時(shí)登錄到桌面,導(dǎo)致共享存儲(chǔ)產(chǎn)生大量爆發(fā)性負(fù)載的情況,是寫(xiě)密集型的,很難通過(guò)技術(shù)方式避免。平穩(wěn)狀態(tài),即所有用戶在同時(shí)使用桌面時(shí),產(chǎn)生負(fù)載波動(dòng)較小的狀態(tài)。不同的用戶類(lèi)型,平穩(wěn)狀態(tài)的負(fù)載有所不同。時(shí)延要求一般在10ms左右。


               2、IO特征:平穩(wěn)狀態(tài)下,讀寫(xiě)比例約為2:8,多路順序小IO,主要是寫(xiě),存在一定的合并,IO大小從512B到16KB都有;少量的讀IO,基本都是16KB,在負(fù)載穩(wěn)定之后,Cache命中率在80%以上(采用鏈接克隆技術(shù)的情況下,如果是完整克隆的情況,命中率有所下降)。


          四、SPC-1業(yè)務(wù)模型和特征


               1、業(yè)務(wù)特性:SPC-1設(shè)計(jì)一個(gè)專(zhuān)門(mén)為測(cè)試存儲(chǔ)系統(tǒng)在典型業(yè)務(wù)應(yīng)用場(chǎng)合下的負(fù)載模型,這個(gè)負(fù)載模型連續(xù)不斷地對(duì)業(yè)務(wù)系統(tǒng)并發(fā)的做查詢和更新的工作,因此其主要由隨機(jī)I/O組成。這些隨機(jī)I/O的操作主要涉及數(shù)據(jù)庫(kù)型的OLTP應(yīng)用以及E-mail系統(tǒng)應(yīng)用,能夠很好地衡量存儲(chǔ)系統(tǒng)的IOPS指標(biāo)。


               2、IO特征:它抽象的測(cè)試區(qū)域稱(chēng)為ASU,包括ASU1臨時(shí)數(shù)據(jù)區(qū)域,ASU2用戶數(shù)據(jù)區(qū)域和ASU3日志區(qū)域。對(duì)整體而言,讀寫(xiě)比約為4:6,順序IO與隨機(jī)IO的比例約為3:7,IO大小主要為4KB,有較明顯的熱點(diǎn)訪問(wèn)區(qū)域。

           

          SSD、SAS、NL-SAS的性能特點(diǎn)、優(yōu)勢(shì)對(duì)比




          你知道FC鏈路帶寬是如何計(jì)算的呢?


               今天就跟你一起詳細(xì)解析一下。FC協(xié)議是主機(jī)服務(wù)器與存儲(chǔ)系統(tǒng)連接傳輸?shù)某S脜f(xié)議之一。在評(píng)估存儲(chǔ)系統(tǒng)整體帶寬時(shí),F(xiàn)C鏈路的帶寬是計(jì)算前端帶寬的最重要的因素之一。8G FC鏈路的理論帶寬計(jì)算方法如下:

               8Gbps FC參考時(shí)鐘:8.5G Hz

               8Gbps FC協(xié)議編碼:8b/10b編碼


               協(xié)議幀的傳輸如上圖所示。8Gbps FC協(xié)議傳輸效率計(jì)算如下:


           

               ACK在FC協(xié)議中是class 1和class 2服務(wù)(面向連接)使用的,class 3服務(wù)不使用ACK幀,因此可以獲得更高的傳輸效率。通常使用的是class 3服務(wù),按照class 3服務(wù)計(jì)算實(shí)際傳輸效率為97.15%。


               單向理論數(shù)據(jù)傳輸帶寬計(jì)算公式如下:

               鏈路時(shí)鐘*鏈路編碼效率* FC協(xié)議層傳輸效率/8 /1024 /1024,即8Gbps FC單向理論數(shù)據(jù)傳輸帶寬=(8.5*1000*1000*1000) * (8/10) * 97.15%/8 /1024 /1024 = 787.5MB/s


               由于傳輸命令請(qǐng)求也要開(kāi)銷(xiāo)鏈路帶寬,幀與幀之間的傳輸還需要協(xié)議的原語(yǔ)開(kāi)銷(xiāo),故單向鏈路的數(shù)據(jù)帶寬無(wú)法超越理論值787.5MB/s。雙向帶寬理論上為單向鏈路的兩倍,但是由于光模塊和上層模塊的處理調(diào)度開(kāi)銷(xiāo)等因素,實(shí)際測(cè)試時(shí)達(dá)不到兩倍的理論值。當(dāng)前產(chǎn)品中常見(jiàn)的FC鏈路為8G FC和4G FC鏈路,它們的極限帶寬如下表所示:



           

              例如,某客戶采購(gòu)了一臺(tái)陣列,此款產(chǎn)品能夠提供的最大讀帶寬為3000MB,客戶規(guī)劃配置48塊600GB 15k SAS盤(pán)(推薦單盤(pán)讀帶寬為40MB),前端雙控各配置1張8G FC卡,分別連接了1根光纖到A、B控,估算當(dāng)前場(chǎng)景下能夠提供的最大讀帶寬。


               硬盤(pán)提供的有效讀帶寬 = 單盤(pán)順序讀帶寬 * 硬盤(pán)數(shù)量 = 40MB * 48 = 1920 MB。

               前端鏈路提供的最大讀帶寬 = 780MB * 2 = 1560 MB。

               該場(chǎng)景能提供的最大讀帶寬 = MIN(產(chǎn)品能提供的最大讀帶寬,硬盤(pán)提供的有效寫(xiě)帶寬,前端鏈路提供的最大讀帶寬)= MIN(3000MB,1920MB , 1560MB)= 1560 MB。

           

          帶寬計(jì)算中如何考慮校驗(yàn)的影響


               對(duì)于順序?qū)憳I(yè)務(wù),IO經(jīng)過(guò)cache的IO合并后下發(fā)到RAID層,基本能夠確保都是滿分條寫(xiě)。對(duì)于RAID5-5(4D+1P)這種配置來(lái)說(shuō),每4個(gè)數(shù)據(jù)IO(D)下盤(pán)同時(shí)會(huì)有一個(gè)校驗(yàn)IO(P)需要下盤(pán)。


          校驗(yàn)IO下盤(pán)所占的硬盤(pán)帶寬用于保障數(shù)據(jù)的可靠性,而對(duì)于用戶上層業(yè)務(wù)來(lái)說(shuō)并沒(méi)有提供可用帶寬,因此需要扣除掉校驗(yàn)位下盤(pán)所占的帶寬開(kāi)銷(xiāo)。


           

              對(duì)于順序讀業(yè)務(wù),在滿分條的情況下,在每個(gè)分條內(nèi)部只需要讀數(shù)據(jù)位所在的磁盤(pán),不需要讀校驗(yàn)位所在的磁盤(pán)。


           

              例如,某一款產(chǎn)品,能夠提供的最大寫(xiě)帶寬為3200MB,規(guī)劃配置96塊600GB 15k SAS盤(pán)(推薦單盤(pán)寫(xiě)帶寬為30MB),部署RAID6-6(4D+2P),估算這款產(chǎn)品能夠提供的有效寫(xiě)帶寬。


               硬盤(pán)提供的有效寫(xiě)帶寬 = 單盤(pán)順序?qū)憥?nbsp;* 硬盤(pán)數(shù)量 * (RAID數(shù)據(jù)盤(pán)數(shù)量/RAID總盤(pán)數(shù))= 30MB * 96 * (4/6)= 1920 MB

               產(chǎn)品能提供的有效寫(xiě)帶寬 = MIN(產(chǎn)品能提供的最大寫(xiě)帶寬,硬盤(pán)提供的有效寫(xiě)帶寬)= MIN(3200MB,1920MB)= 1920 MB


          什么是讀寫(xiě)比和對(duì)性能影響


               讀寫(xiě)比(Read/Write):指的是上層應(yīng)用下發(fā)的讀IO和寫(xiě)IO的比例分布。此數(shù)據(jù)是存儲(chǔ)規(guī)劃的重要參考依據(jù)。讀業(yè)務(wù)與寫(xiě)業(yè)務(wù)消耗的存儲(chǔ)資源差異很大。下面是一些典型業(yè)務(wù)模型的常見(jiàn)讀寫(xiě)比例



               確切了解上層應(yīng)用的讀寫(xiě)比例直接影響到對(duì)cache策略、RAID級(jí)別和LUN配置的選擇。寫(xiě)業(yè)務(wù)比讀業(yè)務(wù)會(huì)消耗更多的存儲(chǔ)系統(tǒng)資源:


               1、在回寫(xiě)的場(chǎng)景下,寫(xiě)IO下發(fā)到cache之后需要通過(guò)交換通道“鏡像”到對(duì)端控制器,IO路徑更長(zhǎng),并需要占用交換通道的帶寬;

               2、為保證寫(xiě)數(shù)據(jù)的可靠性和一致性,智能存儲(chǔ)通常會(huì)采用一些可靠性技術(shù),例如writehole方案,需要將寫(xiě)數(shù)據(jù)額外保存一份在cache或磁盤(pán)上;

               3、對(duì)于不同的RAID級(jí)別而言,寫(xiě)懲罰的存在會(huì)造成更大的時(shí)延和資源的開(kāi)銷(xiāo);此外,對(duì)于磁盤(pán)(包括SSD盤(pán))而言,寫(xiě)速度低于讀速度。


               而對(duì)于讀業(yè)務(wù)來(lái)說(shuō),通常消耗較少的系統(tǒng)資源。例如,讀業(yè)務(wù)不需要生成額外的數(shù)據(jù)來(lái)保證數(shù)據(jù)一致。此外,絕大部分存儲(chǔ)設(shè)備的讀速度都比寫(xiě)速度要快。當(dāng)讀IO發(fā)現(xiàn)它所需讀取的數(shù)據(jù)已經(jīng)在Cache中(讀命中)時(shí),可以直接返回而不需要再下盤(pán)讀取。在讀命中的情況下,通常意味著最短的響應(yīng)時(shí)延。


               同樣數(shù)量的主機(jī)IO,如果讀寫(xiě)比例不同,最終需要下盤(pán)的IO數(shù)量不同,意味著需要提供的磁盤(pán)能力不同。


               例如,RAID6單次寫(xiě)入需要分別對(duì)數(shù)據(jù)位和校驗(yàn)位進(jìn)行3次讀和3次寫(xiě),即寫(xiě)懲罰是6。在RAID6的場(chǎng)景下,如果有1000個(gè)隨機(jī)的主機(jī)IO,讀寫(xiě)比為2:8,則需要下盤(pán)的IO數(shù)量為1000*0.2 + 1000*0.8*6 = 5000;而如果讀寫(xiě)比例為8:2的話,則需要下盤(pán)的IO數(shù)量為1000*0.8 + 1000*0.2*6 = 2000。

           

          不同RAID級(jí)別對(duì)性能和容量影響


               由于各RAID級(jí)別的寫(xiě)懲罰不同,對(duì)于相同的業(yè)務(wù)類(lèi)型、同樣數(shù)量的硬盤(pán)而言,選擇不同的RAID算法,能夠提供給主機(jī)的性能是不相等的。


               針對(duì)各種典型場(chǎng)景的RAID10、RAID5和RAID6的性能對(duì)比,其中假設(shè)某存儲(chǔ)設(shè)備上所有硬盤(pán)能夠提供的性能為100%,按照各個(gè)應(yīng)用場(chǎng)景的讀寫(xiě)比例,經(jīng)過(guò)寫(xiě)懲罰系數(shù)的折算,得到配置成各個(gè)RAID級(jí)別后能提供給用戶的實(shí)際性能。


           

              從數(shù)據(jù)中也可以看出,對(duì)于不同的業(yè)務(wù)類(lèi)型、同樣數(shù)量的硬盤(pán)、相同的RAID算法,寫(xiě)比例越大,性能越差。以SPC-1場(chǎng)景配置RAID6為例,假設(shè)用戶實(shí)際性能為x(0.4x + 0.6x * 6 = 100%),實(shí)際性能只是磁盤(pán)能提供的x = 25%。


               由于RAID算法的實(shí)現(xiàn)原理不同(RAID10的鏡像、RAID5/6的校驗(yàn)盤(pán)),對(duì)于同樣大小的裸容量來(lái)說(shuō),選擇不同的RAID算法,可提供給用戶的可用容量是不同的(不考慮熱備空間和系統(tǒng)預(yù)留的影響)。


           

              從可靠性的層面來(lái)看,RAID6的可靠性最佳,RAID10次之,RAID5最差。RAID6和RAID10都支持同時(shí)壞2塊盤(pán)不丟數(shù)據(jù),但是RAID10對(duì)壞的2塊盤(pán)是有條件要求的。

           

          如何區(qū)分順序IO和隨機(jī)IO


               IO的尋址方式是IO特性的一個(gè)重要方面,分為順序、隨機(jī)或混合,這取決于上層應(yīng)用程序獲取數(shù)據(jù)的方式。例如,數(shù)據(jù)庫(kù)OLTP業(yè)務(wù)是典型的隨機(jī)讀寫(xiě),視頻監(jiān)控業(yè)務(wù)是典型的順序讀,SPC-1模型是混合讀寫(xiě)。


               在通常情況下,如果數(shù)據(jù)的讀寫(xiě)是在連續(xù)的磁盤(pán)空間上,可以認(rèn)為是順序IO;如果應(yīng)用讀取的數(shù)據(jù)分布在不連續(xù)的磁盤(pán)空間,且無(wú)固定的順序,則視為隨機(jī)IO;如果一部分?jǐn)?shù)據(jù)是順序讀寫(xiě),一部分?jǐn)?shù)據(jù)是隨機(jī)讀寫(xiě),則視為混合類(lèi)型IO。


          順序/隨機(jī)特性對(duì)性能的影響


               在磁盤(pán)層面,順序IO的性能優(yōu)于隨機(jī)IO。這是由于傳統(tǒng)的機(jī)械磁盤(pán)讀寫(xiě)數(shù)據(jù)需要盤(pán)片轉(zhuǎn)動(dòng)和磁頭移動(dòng),使得隨機(jī)讀寫(xiě)的盤(pán)片旋轉(zhuǎn)和磁頭尋道時(shí)間要遠(yuǎn)大于順序讀寫(xiě)。


               在智能存儲(chǔ)系統(tǒng)層面,通常情況下,順序IO的性能同樣大大優(yōu)于隨機(jī)IO,特別是對(duì)于小IO的IOPS性能而言:


               1、小IO讀:通過(guò)順序流識(shí)別和預(yù)取算法,系統(tǒng)提前在磁盤(pán)上讀取大塊的連續(xù)數(shù)據(jù)存放在cache中,后續(xù)的大量順序小IO在cache中命中,無(wú)需下盤(pán)處理。而隨機(jī)小IO在cache中命中率極低,只能逐個(gè)下盤(pán)讀。


               2、小IO寫(xiě):通過(guò)IO合并,系統(tǒng)將多個(gè)順序小IO合并成一個(gè)較大的IO下盤(pán)。如果在RAID5或RAID6場(chǎng)景,IO聚合成滿分條大小的情況下,無(wú)需做預(yù)讀操作,不會(huì)觸發(fā)RAID寫(xiě)懲罰,效率很高。而隨機(jī)小IO無(wú)法合并,只能逐個(gè)下盤(pán)寫(xiě),且會(huì)觸發(fā)寫(xiě)懲罰,導(dǎo)致性能更為低下。典型業(yè)務(wù)場(chǎng)景的順序/隨機(jī)特性,以下是一些典型業(yè)務(wù)場(chǎng)景的順序/隨機(jī)特性。



          如何區(qū)分大IO和小IO


               在做性能評(píng)估和討論IO模型時(shí),經(jīng)常會(huì)遇到是大IO還是小IO的問(wèn)題。我們通常把<=16KB的IO認(rèn)為是小IO(典型的如512bytes、4KB),而>=32KB的IO認(rèn)為是大IO(典型的如256KB、1MB),處于16K和32K間的IO也認(rèn)為是小IO。例如,典型的OLTP數(shù)據(jù)業(yè)務(wù)是小IO,而數(shù)據(jù)倉(cāng)庫(kù)業(yè)務(wù)是大IO。典型業(yè)務(wù)場(chǎng)景的IO大小,以下是一些典型業(yè)務(wù)場(chǎng)景的IO大小。


          IO大小對(duì)性能的影響


               IO的大小取決于上層應(yīng)用程序本身。對(duì)性能而言,小IO一般用IOPS來(lái)衡量,大IO一般用帶寬來(lái)衡量。例如我們熟悉的SPC-1,主要衡量存儲(chǔ)系統(tǒng)在隨機(jī)小IO負(fù)荷下的IOPS,而SPC-2則主要衡量在各種高負(fù)荷連續(xù)讀寫(xiě)應(yīng)用場(chǎng)合下存儲(chǔ)系統(tǒng)的帶寬。


               就單個(gè)IO而言,大IO從微觀角度相比小IO會(huì)需要更多的處理資源。對(duì)于隨機(jī)IO而言,隨著隨機(jī)IO塊大小的增加,IOPS會(huì)隨之降低。例如,當(dāng)隨機(jī)IO大小大于16KB時(shí),機(jī)械硬盤(pán)的IOPS會(huì)呈線性下降。因此,我們通常SPC-1測(cè)試的IOPS值很高,但因?yàn)橛脩魳I(yè)務(wù)模型不同,IO大小不同,性能值也是變化的。


               不過(guò)對(duì)于智能存儲(chǔ)系統(tǒng)來(lái)說(shuō),會(huì)盡可能通過(guò)排序、合并、填充等方法對(duì)IO進(jìn)行整合,將多個(gè)小IO組合成單個(gè)大IO。例如,典型的Web Server Log業(yè)務(wù),一般是8KB大小的順序小IO,在分條大小設(shè)置為128KB的存儲(chǔ)設(shè)備上,最終會(huì)將16個(gè)8KB大小的小IO合并成一個(gè)128KB的大IO下發(fā)到硬盤(pán)上。在這種情況下,對(duì)比處理多個(gè)小IO,處理單個(gè)大IO的速度更快、開(kāi)銷(xiāo)更小。


               IO的大小,影響到磁盤(pán)選型,緩存、RAID類(lèi)型、LUN的一些屬性和策略的調(diào)優(yōu)。例如,隨機(jī)小IO的場(chǎng)景,由于SSD盤(pán)具有快速隨機(jī)讀寫(xiě)的特性,選用SSD盤(pán)對(duì)比SAS盤(pán)能夠大幅提升性能;但如果是隨機(jī)大IO,選用帶寬性能相當(dāng)、價(jià)錢(qián)便宜的SAS盤(pán)更有優(yōu)勢(shì)。


          Cache加速的原理


               Cache是存儲(chǔ)中最重要的模塊之一,對(duì)于IOPS性能而言,CACHE的主要作用是加速。


               對(duì)于寫(xiě)業(yè)務(wù),CACHE加速體現(xiàn)在三個(gè)方面:

               1、回寫(xiě)情況下,主機(jī)側(cè)下到陣列側(cè)的數(shù)據(jù)只需要下到CACHE處而不需要真正寫(xiě)到磁盤(pán)即可以返回通知主機(jī)寫(xiě)完成,當(dāng)寫(xiě)CACHE的數(shù)據(jù)積累到一定程度(水位),陣列才把數(shù)據(jù)刷到磁盤(pán)。由此可以將速度較差的“同步單個(gè)寫(xiě)”轉(zhuǎn)為“異步批量寫(xiě)”,在通常情況下,回寫(xiě)的性能約是透寫(xiě)性能的兩倍以上。

               2、寫(xiě)命中。回寫(xiě)條件下,新寫(xiě)到CACHE中的數(shù)據(jù)發(fā)現(xiàn)在CACHE中已經(jīng)有準(zhǔn)備寫(xiě)到相同地址但還沒(méi)有刷盤(pán)的數(shù)據(jù)。在這種情況下,只需要將新寫(xiě)入的數(shù)據(jù)下盤(pán)即可。

               3、寫(xiě)合并。例如小IO下到CACHE中,CACHE會(huì)盡可能對(duì)IO進(jìn)行排序與合并,將多個(gè)小IO合成單個(gè)大IO再下盤(pán)。


               對(duì)于讀業(yè)務(wù),CACHE加速主要體現(xiàn)在讀命中。例如智能預(yù)取策略,CACHE會(huì)主動(dòng)識(shí)別IO流的特征,如果發(fā)現(xiàn)是順序IO流,CACHE會(huì)在下盤(pán)讀IO的同時(shí),主動(dòng)讀取相鄰區(qū)域的大塊數(shù)據(jù)放到CACHE中。當(dāng)順序IO下發(fā)到CACHE時(shí),發(fā)現(xiàn)CACHE中已存放了需要的數(shù)據(jù),則直接將此數(shù)據(jù)返回即可,不需要再下盤(pán)讀。其中的一個(gè)特例是“全命中”。


          在全命中條件下,業(yè)務(wù)需要讀取的數(shù)據(jù)已經(jīng)全部保存到CACHE中,完全不需要再下盤(pán)處理,即所有IO到CACHE層就返回了,路徑和時(shí)延最短。全命中讀的IOPS值,往往是一款存儲(chǔ)產(chǎn)品能夠提供的最大IOPS值。

          相關(guān)閱讀:

          高性能計(jì)算技術(shù)、方案和行業(yè)全解(第二版)
          InfiniBand架構(gòu)和技術(shù)實(shí)戰(zhàn)總結(jié)(第二版)
          RDMA原理分析、對(duì)比和技術(shù)實(shí)現(xiàn)解析

          全店鋪技術(shù)資料打包(全)



          轉(zhuǎn)載申明:轉(zhuǎn)載本號(hào)文章請(qǐng)注明作者來(lái)源,本號(hào)發(fā)布文章若存在版權(quán)等問(wèn)題,請(qǐng)留言聯(lián)系處理,謝謝。


          推薦閱讀


          更多架構(gòu)相關(guān)技術(shù)知識(shí)總結(jié)請(qǐng)參考“架構(gòu)師全店鋪技術(shù)資料打包”相關(guān)電子書(shū)(37本技術(shù)資料打包匯總詳情可通過(guò)“閱讀原文”獲取)。

          全店內(nèi)容持續(xù)更新,現(xiàn)下單“架構(gòu)師技術(shù)全店資料打包匯總(全)”,后續(xù)可享全店內(nèi)容更新“免費(fèi)”贈(zèng)閱,價(jià)格僅收198元(原總價(jià)350元)。



          溫馨提示:

          掃描二維碼關(guān)注公眾號(hào),點(diǎn)擊小程序鏈接獲取架構(gòu)師技術(shù)聯(lián)盟書(shū)店電子書(shū)資料詳情


          瀏覽 18
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜桃视频 成人app ios | 欧美日韩A片 | 午夜三级福利无码 | 成人黄色视频免费看 | 韩国一区二区在线观看 |