性能容量評估
- 分析上線業務場景
- 評估數據庫服務器所需性能指標
- 預估可能成為瓶頸的服務器資源
- 幫助數據庫性能調優
數據庫服務器硬件性能指標項:
- 磁盤IO性能
- 內存容量
- CPU
- 網絡吞吐量
- 磁盤容量
數據庫業務特點關鍵詞
- OLTP/OLAP
- 並發請求
- 讀寫比例
- 數據量
- 冷熱數據比
- 數據分級存儲
OLTP與OLAP
T=Transaction
面向廣大用戶,高並發,較短事務操作
互聯網應用絕大部分屬於OLTP
OLTP看中服務器CPU,內存,寫事務較多或內存不夠則依賴磁盤IO
A=Analytical
通常面向內部人員,大規模復雜查詢
OLAP看中磁盤掃描的IO能力,部分依賴內存排序
並發請求數--衡量線上業務繁忙程度
- 業務高峰時數據庫的每秒並發訪問量是多少
- 通過應用服務器數量,連接池配置判斷
- 通過產品估算初上線用戶規模和用戶增長速度判斷
- 通過實際業務業務類型判斷
- 並發量相關資源:cpu
讀寫比例--描述應用程度如何使用數據庫
- 線上業務select只讀與update/delete/insert寫操作比例
- delete/update通常都是先讀再寫
- insert需要區分數據寫入還是持續insert還是大量導入數據
- 根據業務實際場景分析
多讀場景相關資源:內存
多寫場景相關資源:磁盤IO
數據量-總量
- 數據庫服務器存儲設備可擴容能力的上限
- 根據估算的業務量,寫入模式,分析數據增長量
- 預計一個硬件升級周期內數據庫可存放數據的總量,上線時要留好余量
- 數據總量相關資源:磁盤容量
冷熱數據比-有用數據的實時集合
- 熱數據,線上最新一定周期內將被反復訪問的數據
- 冷數據,線上保存着的,最近不會被在線用戶用到的數據
- 估算活躍用戶量,數據增長量等預估熱數據量
- 內存大小盡可足夠存放線上實時熱數據
- 熱數據相關資源:內存
線上數據分層存儲--緩解線上磁盤空間壓力


服務器資源選型--將可選方案列出來


性能--成本的平衡;
數據庫業務特點關鍵詞
- OLTP/OLAP
- 並發請求
- 讀寫比例
- 數據量
- 冷熱數據比
- 數據分級存儲
案例
案例一,網易雲音樂曲庫數據庫服務器評估
- 用於存放線上數千萬歌曲信息
- 確定屬於OLTP線上類型數據庫
- 並發請求
-
- 50台應用服務器,每台最大連接數100
- 可能峰值5000qps,並發請求量較大
- 所以:CPU需求高
- 讀寫比例
-
- 訪問模式以用戶列出歌單和播放歌曲時查詢歌曲信息為主,用戶只有只讀查詢
- 寫數據發生在錄入新歌或修改歌曲信息時后台操作,寫比例小,且為批量導入
- 讀寫比例:100:1
- 數據總量
-
- 估算每首歌信息8K,總計5000萬,總量400G
- 數據總量增長相對較慢
- 冷熱數據比
-
- 5000萬歌曲中大約40%可能被訪問,10%屬於熱點歌曲
- 熱數據大約<40G
- 數據分級存儲需求
-
- 由於沒有用戶產生的數據,歌曲信息無法分級存儲
分析完得出以下結論:
- 並發請求高-----------------------CPU性能要求高
- 讀占大部分,且熱數據大約40G---內存需求一般>40G
- 數據總量400G--------------------磁盤空間需求一般>400G
- 寫比例較少,且是后台批量--------磁盤IO能力需求一般
- 網絡流量要求:8K*2500(每秒2500首放回給用戶)/1024≈20MB/S,一般
一般使用估算容量*2;


分析上線業務場景
數據庫業務特點關鍵詞
- OLTP/OLAP
- 並發請求
- 讀寫比例
- 數據量
- 冷熱數據比
- 數據分級存儲
案例二,網易理財銷售數據庫服務器評估
分析上線業務場景:
- 用於存放理財用戶線上訂單
- 確定屬於OLTP線上類型數據庫
- 業務場景有明顯特征
-
- 特定高息產品秒殺銷售時間窗有大量並發訂單寫入
- 平時只有少量訂單查詢請求,和較低的常規產品購買請求
- 評估應以滿足最關鍵的業務高峰為基准
數據庫業務特點:
- 確定屬於OLTP線上類型數據庫
- 並發請求量
-
- 秒殺期間持續時間短,但是並發量預估30台應用服務器約2000tps(實際估算,比如限售3億,平均每筆訂單1萬,則會有3萬筆訂單,根據實際情況,3萬筆訂單將在十幾秒賣光,所以,每秒應該有2000筆訂單完成)
- 所以CPU要求較高
- 所以網絡要求較高
- 讀寫比例
-
- 高峰時寫訂單是主要開銷操作
- 所以磁盤IO要求很高
- 數據總量
-
- 根據業務分析,訂單屬於寫入瞬時量大,總量較小,單筆金額較高
- 總量預估一年成交百萬單位級別,增長量較穩定
- 判斷數據存儲需求小於200G
- 所以磁盤空間需求一般,>200G
- 冷熱數據
-
- 峰值寫入為主,內存要求存放熱點期間產生的臟數據即可
- 總共有3萬筆訂單數據產生,算一算臟數據<10G
- 數據分級存儲需求
-
- 用戶訂單業務約定頁面展示最近半年訂單,半年前的需要到歷史查詢頁面專門查詢
- 因此可以做分級存儲,遷移所有半年前訂單至歷史庫


總結
- 硬件性能指標:
-
- 磁盤IO性能
-
- 單盤->盤陣
- SAS-SATA,
- 機械盤->ssd
- 內存 較小->較大,
- cup
-
- 普通->多核,
- 超線程,
- 磁盤容量
-
- 單盤->盤陣,
- 單盤->LVM,
- 網絡吞吐量
-
- 千兆->萬兆,
- 單網卡->多路;
- 數據庫業務特點:
-
- OLTP/OLAPM,
- 並發請求------cpu,
- 讀寫比例
-
- 讀---內存
- 寫磁盤IO,
- 數據量--磁盤容量,
- 冷熱數據比
-
- 熱數據多--內存,
- 數據分級存儲--緩解線上磁盤空間壓力
- 性能與成本的平衡