<p id="pn9pr"></p>

<pre id="pn9pr"></pre>
    <pre id="pn9pr"></pre>
    <pre id="pn9pr"><del id="pn9pr"></del></pre>

          <ruby id="pn9pr"><b id="pn9pr"></b></ruby>

          <address id="pn9pr"><ruby id="pn9pr"><b id="pn9pr"></b></ruby></address>

              <p id="pn9pr"><del id="pn9pr"><dfn id="pn9pr"></dfn></del></p>
              <p id="pn9pr"></p>

              <p id="pn9pr"><ruby id="pn9pr"><mark id="pn9pr"></mark></ruby></p>

              <pre id="pn9pr"><del id="pn9pr"><thead id="pn9pr"></thead></del></pre>
              <ruby id="pn9pr"><mark id="pn9pr"></mark></ruby>

              <pre id="pn9pr"></pre>
                <pre id="pn9pr"><del id="pn9pr"></del></pre>
                国产精品一区二区三区高清在线,国模吧一区二区三区,欧美成人精品第一区,欧美色图一区二区 亚洲免费一区二区,日韩中文一区,精品日韩欧美一区二区三区在线播放,国产亚洲第一伦理第一区
                資訊

                存儲最重要的三個指標

                2018-09-10

                當前位置:首頁 > 新聞 > 存儲最重要的三個指標

                一、IOPS(IO請求數量)

                IOPS,即每秒鐘處理的IO請求數量。IOPS是隨機訪問類型業務(OLTP類)很重要的一個參考指標。

                1、一塊物理硬盤能提供多少IOPS?

                從磁盤上進行數據讀取時,比較重要的幾個時間是:尋址時間(找到數據塊的起始位置),旋轉時間(等待磁盤旋轉到數據塊的起始位置),傳輸時間(讀取數據的時間和返回的時間)。其中尋址時間是固定的(磁頭定位到數據的存儲的扇區即可),旋轉時間受磁盤轉速的影響,傳輸時間受數據量大小的影響和接口類型的影響(不用硬盤接口速度不同),但是在隨機訪問類業務中,他的時間也很少。因此,在硬盤接口相同的情況下,IOPS主要受限于尋址時間和傳輸時間。以一個15K的硬盤為例,尋址時間固定為4ms,傳輸時間為60s/15000*1/2=2ms,忽略傳輸時間。1000ms/6ms=167個IOPS。

                2、OS的一次IO請求對應物理硬盤一個IO嗎?

                在沒有文件系統、沒有VM(卷管理)、沒有RAID、沒有存儲設備的情況下,這個答案還是成立的。但是當這么多中間層加進去以后,這個答案就不是這樣了。物理硬盤提供的IO是有限的,也是整個IO系統存在瓶頸的最大根源。所以,如果一塊硬盤不能提供,那么多塊在一起并行處理,這不就行了嗎?確實是這樣的??梢钥吹?,越是高端的存儲設備的cache越大,硬盤越多,一方面通過cache異步處理IO,另一方面通過盤數增加,盡可能把一個OS的IO分布到不同硬盤上,從而提高性能。文件系統則是在cache上會影響,而VM則可能是一個IO分布到多個不同設備上(Striping)。所以,一個OS的IO在經過多個中間層以后,發生在物理磁盤上的IO是不確定的??赡苁且粚σ粋€,也可能一個對應多個。

                3、IOPS能算出來嗎?

                對單塊磁盤的IOPS的計算沒有沒問題,但是當系統后面接的是一個存儲系統時、考慮不同讀寫比例,IOPS則很難計算,而需要根據實際情況進行測試。主要的因素有:  

                1)存儲系統本身有自己的緩存:緩存大小直接影響IOPS,理論上說,緩存越大能cache的東西越多,在cache命中率保持的情況下,IOPS會越高。

                2)RAID級別:不同的RAID級別影響了物理IO的效率。

                3)讀寫混合比例:對讀操作,一般只要cache能足夠大,可以大大減少物理IO,而都在cache中進行;對寫操作,不論cache有多大,最終的寫還是會落到磁盤上。因此,100%寫的IOPS要小于100%的讀的IOPS。同時,100%寫的IOPS大致等同于存儲設備能提供的物理的IOPS。

                4)一次IO請求數據量的多少。一次讀寫1KB和一次讀寫1MB,顯而易見,結果是完全不同的。

                當時上面N多因素混合在一起以后,IOPS的值就變得撲朔迷離了。所以,一般需要通過實際應用的測試才能獲得。

                二、IO Response Time(響應時間)

                即IO的響應時間。IO響應時間是從操作系統內核發出一個IO請求到接收到IO響應的時間。因此,IO Response time除了包括磁盤獲取數據的時間,還包括了操作系統以及在存儲系統內部IO等待的時間。一般看,隨IOPS增加,因為IO出現等待,IO響應時間也會隨之增加。對一個OLTP系統,10ms以內的響應時間,是比較合理的。下面是一些IO性能示例:

                ·     一個8K的IO會比一個64K的IO速度快,因為數據讀取的少些。

                ·     一個64K的IO會比8個8K的IO速度快,因為前者只請求了一個IO而后者是8個IO。

                ·     串行IO會比隨機IO快,因為串行IO相對隨機IO說,即便沒有Cache,串行IO在磁盤處理上也會少些操作。

                需要注意,IOPS與IO Response Time有著密切的聯系。一般情況下,IOPS增加,說明IO請求多了,IO Response Time會相應增加。但是會出現IOPS一直增加,但是IO Response Time變得非常慢,超過20ms甚至幾十ms,這時候的IOPS雖然還在提高,但是意義已經不大,因為整個IO系統的服務時間已經不可取。

                三、Throughput(吞吐量)

                為吞吐量。這個指標衡量標識了最大的數據傳輸量。如上說明,這個值在順序訪問或者大數據量訪問的情況下會比較重要。尤其在大數據量寫的時候。

                吞吐量不像IOPS影響因素很多,吞吐量一般受限于一些比較固定的因素,如:網絡帶寬、IO傳輸接口的帶寬、硬盤接口帶寬等。一般他的值就等于上面幾個地方中某一個的瓶頸。

                1)IO Chunk Size

                即單個IO操作請求數據的大小。一次IO操作是指從發出IO請求到返回數據的過程。IO Chunk Size與應用或業務邏輯有著很密切的關系。比如像Oracle一類數據庫,由于其block size一般為8K,讀取、寫入時都此為單位,因此,8K為這個系統主要的IO Chunk Size。

                IO Chunk Size小,考驗的是IO系統的IOPS能力;IO Chunk Size大,考驗的時候IO系統的IO吞吐量。

                2)Queue Deep

                熟悉數據庫的人都知道,SQL是可以批量提交的,這樣可以大大提高操作效率。IO請求也是一樣,IO請求可以積累一定數據,然后一次提交到存儲系統,這樣一些相鄰的數據塊操作可以進行合并,減少物理IO數。而且Queue Deep如其名,就是設置一起提交的IO請求數量的。一般Queue Deep在IO驅動層面上進行配置。

                Queue Deep與IOPS有著密切關系。Queue Deep主要考慮批量提交IO請求,自然只有IOPS是瓶頸的時候才會有意義,如果IO都是大IO,磁盤已經成瓶頸,Queue Deep意義也就不大了。一般來說,IOPS的峰值會隨著Queue Deep的增加而增加(不會非常顯著),Queue Deep一般小于256。

                3)隨機訪問(隨機IO)、順序訪問(順序IO)

                隨機訪問的特點是每次IO請求的數據在磁盤上的位置跨度很大(如:分布在不同的扇區),因此N個非常小的IO請求(如:1K),必須以N次IO請求才能獲取到相應的數據。

                順序訪問的特點跟隨機訪問相反,它請求的數據在磁盤的位置是連續的。當系統發起N個非常小的IO請求(如:1K)時,因為一次IO是有代價的,系統會取完整的一塊數據(如4K、8K),所以當第一次IO完成時,后續IO請求的數據可能已經有了。這樣可以減少IO請求的次數。這也就是所謂的預取。

                隨機訪問和順序訪問同樣是有應用決定的。如數據庫、小文件的存儲的業務,大多是隨機IO。而視頻類業務、大文件存取,則大多為順序IO。

                選取合理的觀察指標:

                以上各指標中,不用的應用場景需要觀察不同的指標,因為應用場景不同,有些指標甚至是沒有意義的。

                隨機訪問和IOPS: 在隨機訪問場景下,IOPS往往會到達瓶頸,而這個時候去觀察Throughput,則往往遠低于理論值。

                順序訪問和Throughput:在順序訪問的場景下,Throughput往往會達到瓶頸(磁盤限制或者帶寬),而這時候去觀察IOPS,往往很小。

                国产亚洲欧美一区二区,在线亚洲精品视频,亚洲品质自拍视频,538porm在线看国产亚洲 国产精品一区二区三区高清在线,国模吧一区二区三区,欧美成人精品第一区,欧美色图一区二区 亚洲免费一区二区,日韩中文一区,精品日韩欧美一区二区三区在线播放,国产亚洲第一伦理第一区

                <p id="pn9pr"></p>

                <pre id="pn9pr"></pre>
                  <pre id="pn9pr"></pre>
                  <pre id="pn9pr"><del id="pn9pr"></del></pre>

                        <ruby id="pn9pr"><b id="pn9pr"></b></ruby>

                        <address id="pn9pr"><ruby id="pn9pr"><b id="pn9pr"></b></ruby></address>

                            <p id="pn9pr"><del id="pn9pr"><dfn id="pn9pr"></dfn></del></p>
                            <p id="pn9pr"></p>

                            <p id="pn9pr"><ruby id="pn9pr"><mark id="pn9pr"></mark></ruby></p>

                            <pre id="pn9pr"><del id="pn9pr"><thead id="pn9pr"></thead></del></pre>
                            <ruby id="pn9pr"><mark id="pn9pr"></mark></ruby>

                            <pre id="pn9pr"></pre>
                              <pre id="pn9pr"><del id="pn9pr"></del></pre>