背景
ssd介質的特性,決定了其在順序寫、隨機寫不同模式下的效能表現。那麼具體有多少差別呢?能否量化分析這些差別?
理論分析
順序寫和隨機寫效能的差別出現在物理磁碟第一次寫滿之後
在全盤?trim之後的第一次寫,在磁碟物理空間(包括op空間)第一次寫滿之前,順序寫的效能會比隨機寫效能稍好,因為這個時候空閒位址轉換表很多,而且都按照寫請求進入的順序建立邏輯位址到磁碟實體地址的位址轉換對映表。
此後,磁碟物理空間寫滿,邏輯上新來的寫都是覆蓋寫,物理磁碟內部進入高速gc的階段。對於順序寫觸發的覆蓋寫,一次寫觸發的擦除操作掙出來的空閒位址轉換表大概率能被後續的順序寫利用起來。而隨機操作觸發的覆蓋寫,一次寫觸發的擦除操作掙出來的空閒位址轉換錶小概率能被後續的隨機寫利用起來,因此內部gc更加頻繁,留給使用者的頻寬就相對少一些。
實測資料
下面是基於同一款ssd 持續5個小時的測試命令:
4k 順序寫
可以看到,在物理磁碟第一次寫滿的時候,效能比較好;寫滿之後,效能稍差。整體效能也比較均衡。
4k隨機寫
而對於隨機寫:在物理磁碟第一次寫滿的時候,效能比較好;寫滿之後,效能退化嚴重。整體效能抖動很大。
基於ssd 裸塊裝置的讀寫,比較大的塊裝置size 才能夠發揮磁碟效能
64k順序寫
由於是順序寫,寫滿之後的覆蓋寫觸發的gc的效率比較高,因此使用者看到的效能持續穩定在標稱值範圍之內。
64k隨機寫
結論理解ssd的效能測試資料,需要深入理解ssd內部的工作原理,才能解釋測試得到的資料。
MySQL啟用SSD儲存
有時os讀寫慢會降低mysql伺服器的效能,尤其是os與mysql使用同一磁碟時。故最好是讓mysql使用單獨的磁碟,能使用ssd更好。要做到這一點,需要把ssd新磁碟掛載到伺服器上,假定新磁碟在 dev sdb。fdisk dev sdb按下 n 將建立乙個新分割槽 按下 p 將建立新的主分割槽。...
MySQL啟用SSD儲存
有時os讀寫慢會降低mysql伺服器的效能,尤其是os與mysql使用同一磁碟時。故最好是讓mysql使用單獨的磁碟,能使用ssd更好。要做到這一點,需要把ssd新磁碟掛載到伺服器上,假定新磁碟在 dev sdb。fdisk dev sdb按下 n 將建立乙個新分割槽 按下 p 將建立新的主分割槽。...
利用SSD優化Oracle儲存
前幾天有幸和蓋國強老師做了乙個技術交流,從中學到了不少關於oracle的相關知識,其實感受最深的是優化儲存。傳統的儲存我們一般通過表空間規劃,表和索引的分離來提搞效能。但是隨著軟硬體的提高,現在可以更簡單的來優化資料儲存。眾所周知,ssd的i o效能指標 iops 即每秒多少次io動作 上,可以達到...