DockOne微信分享(六十七):互連網情境下快閃記憶體最佳化測試和應用

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
【編者的話】快閃記憶體在這幾年儲存領域發展非常快,應用也越來越廣泛,如何能更好的使用快閃記憶體,本次分享講一些快閃記憶體相關的最佳化和應用。

快閃記憶體應用情境

  • 資料庫
  • NoSQL
  • 分布式儲存
  • CDN
  • 公用雲端儲存


綜合上面幾種情境看,快閃記憶體主要適合有比較高的隨機IO需求和頻寬需求的情境。情境選擇上,也是要發揮快閃記憶體的長處。目前上面業務中 未來幾年發展比較快的會是在公用雲端儲存這一部分。就是某廠商雲端硬碟對比,可以看到快閃記憶體的價格已經很接近機械硬碟了,而單從每IOPS成本看,性價比會更高。

快閃記憶體概述

固態硬碟,不過可以從廣義理解,從2010年開始在互連網行業大規模應用,效能和穩定性已經得到大規模叢集線上驗證,應用情境已經非常廣泛。當然快閃記憶體的IOPS比傳統機械硬碟高几個數量級,但是更核心的還是在延遲降低上,優勢更大。

就很好的說明了,快閃記憶體在訪問延遲上的提升。

提到快閃記憶體,不得不提到快閃記憶體裡非常基礎的組件NAND。NAND分類現在也是非常多。

測試

我們為什麼要做測試呢?
  • 瞭解產品
  • 瞭解自己
  • 最佳化自己
  • 最佳化成本模型


所以說面對如此多的廠商和產品,如何做到更高效的測試 是一個很重要的問題。雖然現在大家都開始轉向雲端服務,直接接觸硬體產品並不多,但是雲廠商的測試依然是很重要的一部分。

測試很Low嗎?
  • 測試很簡單?
  • 沒科技含量?
  • 測試很無聊?



是我們需要瞭解的儲存技術棧。

測試準則:
  • 明確目標
  • 高效
  • 完備性
  • 可量化
  • 可對比
  • 產出


測試過程:
  • 明確測試需求
  • 明確測試目標
  • 選擇測試載入器和測試模型
  • 制定測試計劃
  • 測試過程跟蹤
  • 測試資料驗證
  • 測試報告


測試載入器:
  • IO層面:fio,sysbench,iometer,dd等
  • OLTP:sysbench,TPC-C
  • 協助工具輔助:tcpcopy,tcprstat,pt-log-player


SysBench:
  • 開源的多線程效能測試工具
  • 支援CPU IO Mutex OLTP等測試
  • 可以lua指令碼定製測試案例
  • 常用的insert select和oltp三種情境


測試痛點:
  • 重複工作很多
  • 標準不統一
  • 測試周期很長
  • 人工成本高
  • 測試期間異常處理
  • 測試資料處理和測試報告


解決痛點首先就是正常化,主要是以下幾方面:
  • 測試目標標準化
  • 測試載入器標準化
  • 測試流程標準化
  • 測試報告標準化


自動化測試流程:
  • 自動化測試架構
  • 基於Python
  • 包含整體標準測試流程
  • 覆蓋主流測試載入器
  • 資料處處理和產生報表
  • 定製測試計劃


是測試流程圖

自動化的好處也是顯而易見的:
  • 大大節省了人力
  • 提高測試效率
  • 測試的更加完整
  • 有精力做更深入的測試最佳化


測試快閃記憶體需要注意的幾點:
  • 我們需要的效能是steady state
  • OP
  • NAND
  • 全盤寫
  • 測試時間不能太短
  • 效能抖動
  • 監控




MySQL測試的一些問題:
  • 測試資料集大小,至少要過億
  • 和記憶體buffer比例,要看在小cache下的效能
  • 物理讀
  • 事務複雜度
  • 多表並發


系統層面的一些注意點:
  • 檔案系統:Ext4 xfs
  • IO調度演算法
  • IO cpu affinity
  • Scsi-mq/blk-mq(新核心特性)


測試最佳化結合

InnoDB壓縮測試:
  • InnoDB內建壓縮
  • 基於zlib庫
  • 理論可以達到50%左右的壓縮比
  • 但是效能有損失
  • CPU時間換儲存空間
  • 對SSD壽命有好處
  • 如何用好呢?



基於我們之前的測試過程,我們可以得到結論,InnoDB壓縮比在50%左右,對寫入效能損失比較大, 損失比例在70%左右。根據這個結論,我們就可以針對我們線上業務選擇是否需要使用InnoDB壓縮。

TokuDB:
  • MySQL的一個儲存引擎,支援事務 ACID 特性
  • 支援多版本控制(MVCC)
  • 基於Fractal Tree Index,非常適合寫入密集情境
  • 高壓縮比
  • 原生支援Online DDL
  • 主流分支都支援
  • 收費 轉開源



這是我們測試結果,可以看到TokuDB更好的壓縮比和更好的寫入穩定性,當然代價就是更高的CPU消耗。

總結

  • 現在不再是效能為王的時代
  • 真正瞭解自己需求才是更重要的
  • 發掘快閃記憶體效能,軟硬體結合
  • 拓展快閃記憶體應用空間
  • 做真正有價值的事情
  • 如何做到更好的軟硬體結合(其實現在硬體是超前於一些軟體的)



以此圖結尾,不要只活在當下,要勇敢的接受新技術,勇於試錯,當然試錯成本和收益也要評估和可控的。其實很多技術理解透徹了,可能並沒有別人說的“邪惡”。

以上內容根據2016年7月5日晚群分享內容整理。分享人 楊尚剛,熊貓TV DBA,前新浪進階資料庫工程師,負責新浪微博核心資料庫結構描述改造最佳化,以及資料庫相關的伺服器儲存選型設計。 DockOne每周都會組織定向的技術分享,歡迎感興趣的同學加:liyingjiesz,進群參與,您有想聽的話題或者想分享的話題都可以給我們留言。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.