性能調(diào)優(yōu)有多重要呢?在一個(gè)Raid 5的陣列組中使用5-9塊硬盤和使用默認(rèn)的設(shè)置,CLARiiON光纖儲系統(tǒng)能發(fā)揮極好的性能—-這是EMC在性能測試實(shí)驗(yàn)室里測試自己的CLARiiON系統(tǒng)得出來的。


CLARiiON存儲系統(tǒng)默認(rèn)的設(shè)置是為實(shí)際環(huán)境中遇到的大部分工作情形所設(shè)計(jì)的。但是,有一些工作情景還是需要調(diào)優(yōu)來實(shí)現(xiàn)存儲系統(tǒng)的最佳配置。


為什么在陣列組里用5到9塊硬盤?這個(gè)設(shè)置并沒有任何神奇的地方,也不是因?yàn)檫@個(gè)配置有什么特殊的優(yōu)化。然而,Raid 5使用這個(gè)數(shù)量的硬盤確實(shí)是最有效的利用了校驗(yàn),同時(shí)也能在合理的時(shí)間能重建數(shù)據(jù)。更小的陣列組會有更高的校驗(yàn)開銷,而大的陣列組則會花更長的時(shí)間來重建數(shù)據(jù)。


這份白皮書探討了在設(shè)計(jì)優(yōu)化系統(tǒng)方面的時(shí)設(shè)計(jì)到的許多要素。請注意這里提供的信息是非常有幫助的,尤其當(dāng)你充分理解了你的陣列的工作情形。因此,EMC推薦你使用Navisphere Analyzer來分析你的陣列的工作情形,并且要定期的復(fù)習(xí)和回顧相關(guān)文檔的基礎(chǔ)知識。同時(shí),請記住在配置一個(gè)陣列的時(shí)候很少有顯而易見的選擇,所以在有疑問的時(shí)候最好是按照默認(rèn)的配置和保守的評估。


1.性能的定義


以下的名詞在整個(gè)白皮書當(dāng)中都會用到。如果你對他們不熟悉,請回顧一下 EMC CLARiiON Fibre Channel Storage Fundamentals


  • 帶寬
  • 校驗(yàn)
  • 讀取
  • 隨機(jī)
  • 響應(yīng)時(shí)間
  • 要求數(shù)據(jù)大小  Request size
  • 順序
  • 條帶
  • 條帶元素  Stripe element
  • 吞吐量
  • Write-aside


  • 2.應(yīng)用的設(shè)計(jì)


    應(yīng)用的設(shè)計(jì)對系統(tǒng)的表現(xiàn)影響很大。提升性能的最佳方法的第一步就是應(yīng)用的優(yōu)化。任何存儲系統(tǒng)的調(diào)優(yōu)都不可能建立一個(gè)非常差的應(yīng)用設(shè)計(jì)上面。


    A.  為順序或者隨機(jī)I/O的優(yōu)化

    非常典型的一個(gè)例子是,提升帶寬在順序訪問的調(diào)優(yōu)方面會起顯著作用,因?yàn)榇鎯ο到y(tǒng)在順序I/O方面會更加有效率–尤其是在RAID5的時(shí)候。而為隨機(jī)訪問的調(diào)優(yōu)則要改善吞吐量和更快的響應(yīng)時(shí)間,因?yàn)檫@樣會改善處理顧客響應(yīng)所花的時(shí)間。


    讀和寫的對比寫比讀更加耗費(fèi)存儲系統(tǒng)的資源,這是基于CLARiiON對數(shù)據(jù)保護(hù)的機(jī)制的應(yīng)用。寫到write cache是鏡像到兩個(gè)存儲控制器的(SP)。寫到帶校驗(yàn)的Raid Group會碰到校驗(yàn)運(yùn)算的要求,而這也要求把冗余的信息寫到磁盤里面。寫到鏡像的Raid Group會需要兩份數(shù)據(jù)的拷貝的寫入。


    讀的開銷相對會小一些,這是因?yàn)椋瑥腃LARiiON系統(tǒng)的讀的吞吐量會比寫的吞吐量要大一些。但是,對大部分工作情形來看,數(shù)據(jù)往往是寫入write cache,這樣會有更短的響應(yīng)時(shí)間。讀,在另一方面來說,可能命中cache,也可能不命中cache;而對大部分隨機(jī)的工作情形來說,讀比寫會有更高的相應(yīng)時(shí)間,因?yàn)閿?shù)據(jù)還是需要從磁盤里面抓取。如果要達(dá)到高的隨機(jī)讀取吞吐量,需要更好的協(xié)作(concurrency)。


    B.  I/O 的大小


    每一個(gè)的I/O都有一個(gè)固定的開銷和一個(gè)變量的開銷,后者決定于其他的一些事情,例如I/O的大小。

    大的I/O能提供更少的固定開銷因?yàn)橛兄蟮臄?shù)據(jù)。因而,對CLARiiON而言大的I/O比小塊的I/O能提供更大的帶寬。如果有足夠的硬盤,在執(zhí)行大的I/O的時(shí)候后段總線的速度將會成為系統(tǒng)的性能瓶頸。小塊的隨機(jī)訪問應(yīng)用(例如OLTP)的瓶頸在于磁盤(的個(gè)數(shù)),而且很少達(dá)到后端總線速率。

    當(dāng)設(shè)計(jì)OLTP的時(shí)候,必須要使用基于磁盤(的個(gè)數(shù))的IOP來衡量,而不是使用基于總線的帶寬來衡量。


    然而,在一個(gè)CLARiiON存儲系統(tǒng)里面,當(dāng)I/O到了某一個(gè)特定的大小的時(shí)候,包括write caching和prfetching都會被bypass掉。是決定用一個(gè)大的I/O請求還是把他分成幾個(gè)順序的請求,取決于應(yīng)用程序和它跟cache之間的相互作用。這些相互作用在 “The Raid engine Cache”里會探討到。


    文件系統(tǒng)也可以影響到I/O的大小,這也在稍后的“Host file-system impact”中描述到。


    C.  暫時(shí)的模式和峰值的表現(xiàn)(temporal patterns and peak activities)


    應(yīng)用的操作設(shè)計(jì)–如何去使用,什么時(shí)候去使用,什么時(shí)候需要去備份–都會影響到存儲系統(tǒng)的負(fù)載。例如,用作隨機(jī)訪問的應(yīng)用的存儲系統(tǒng),在備份和批量處理的時(shí)候,需要好的順序性能。


    一般來說,對OLTP和消息應(yīng)用(任何跟大量隨機(jī)訪問I/O有關(guān)的),更高的并發(fā)處理能力(concurrency)會更好。當(dāng)有更高的并發(fā)處理能力的時(shí)候,存儲系統(tǒng)將會獲得更高的吞吐量。使用異步I/O是一種獲得更高的并發(fā)處理能力的通常的手法。對帶寬而言,單線程的應(yīng)用幾乎不能有效地利用四塊硬盤以上帶來的好處,除非request size是非常大的(比2MB大)或者使用到volume manager.當(dāng)最佳的順序性能達(dá)到的時(shí)候,而此時(shí)如果順序處理到磁盤的路徑是唯一的時(shí)候,用戶還是可以從有適度并發(fā)隨機(jī)訪問的光纖硬盤(每個(gè)硬盤的I/O在100以下)的設(shè)置中獲得一個(gè)可接受順序性能。


    <未完待續(xù)>

    分享到

    多易

    相關(guān)推薦