生產(chǎn)數(shù)據(jù)庫架構改造方案_第1頁
生產(chǎn)數(shù)據(jù)庫架構改造方案_第2頁
生產(chǎn)數(shù)據(jù)庫架構改造方案_第3頁
生產(chǎn)數(shù)據(jù)庫架構改造方案_第4頁
生產(chǎn)數(shù)據(jù)庫架構改造方案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、生產(chǎn)數(shù)據(jù)庫性能優(yōu)化方案(初稿)1. 背景生產(chǎn)數(shù)據(jù)庫上線一段時間后由于數(shù)據(jù)量遠大于預期,導致數(shù)據(jù)庫性能低下而影響正常業(yè)務,故需要對數(shù)據(jù)庫進行性能優(yōu)化。2. 現(xiàn)狀當前數(shù)據(jù)庫結構如下圖所示:圖2-1 系統(tǒng)結構示意圖上游三個數(shù)據(jù)源通過DI工具以定時任務的方式將上游數(shù)據(jù)抽取到基礎數(shù)據(jù)庫中(紅色部分),從基礎庫到下游目標庫則是通過用戶操作應用程序將基礎數(shù)據(jù)庫中的數(shù)據(jù)調(diào)度到目標數(shù)據(jù)庫中。根據(jù)目前對數(shù)據(jù)量的統(tǒng)計基礎庫約為400GB+的數(shù)據(jù)總量。目前基礎數(shù)據(jù)庫的性能低下,主要表現(xiàn)于定時抽取任務執(zhí)行時間過長,任務間的時間間隔變短;應用執(zhí)行數(shù)據(jù)調(diào)度時間過長,導致應用長時間處于無響應狀態(tài)。3. 分析基礎數(shù)據(jù)庫獲取上游

2、數(shù)據(jù)時,數(shù)據(jù)傳輸量較大,數(shù)據(jù)庫寫操作頻繁,操作系統(tǒng)層表現(xiàn)于數(shù)據(jù)文件所在磁盤寫IO高,并持續(xù)時間長。由于基礎庫放數(shù)據(jù)到下游數(shù)據(jù)庫是人為操作,數(shù)據(jù)庫讀操作頻繁,操作系統(tǒng)層表現(xiàn)于數(shù)據(jù)文件所在磁盤讀IO高,且經(jīng)常會與DI定時任務同時執(zhí)行,通過系統(tǒng)監(jiān)控發(fā)現(xiàn)磁盤出現(xiàn)大量IO等待狀態(tài)。圖 3-1 磁盤IO狀態(tài)圖 3-2 磁盤等待狀態(tài)由于基礎庫保存原始數(shù)據(jù)并不對數(shù)據(jù)進行處理,所以CPU消耗很低,從監(jiān)控看CPU不視為性能瓶頸點。圖 3-3 CPU使用率從以上分析可以判斷數(shù)據(jù)庫操作性能低下主要在高磁盤IO時造成IO掙用較大導致拖慢整體性能。故本次優(yōu)化將重點放在解決磁盤IO掙用問題和提高磁盤IOPS上。4. 優(yōu)化方

3、案本著應用層變動最小的原則,為解決基礎庫磁盤IO性能低下問題,我們將從三個方面著手進行,即:優(yōu)化數(shù)據(jù)庫物理架構、優(yōu)化DI任務執(zhí)行時間和優(yōu)化數(shù)據(jù)庫數(shù)據(jù)文件所在Path的磁盤VG結構。4.1. 優(yōu)化數(shù)據(jù)庫物理架構根據(jù)基礎庫的業(yè)務特點,這里將對基礎庫的讀寫操作進行分離(即:讀、寫分離)。這樣做的好處在于可以最大限度規(guī)避數(shù)據(jù)庫讀、寫同時操作所帶來的磁盤IO掙用問題。調(diào)整后的架構如下圖:數(shù)據(jù)庫采用主/從模式,使用binlog復制方式實現(xiàn)數(shù)據(jù)同步。由于考慮到大數(shù)據(jù)量復制可能帶來的同步延遲問題,實現(xiàn)時需要注意優(yōu)化復制線程參數(shù)。4.2. 優(yōu)化DI任務執(zhí)行時間為了避免多任務同時寫一個數(shù)據(jù)庫產(chǎn)生磁盤寫IO過高的問

4、題,需要對每一個DI任務的執(zhí)行時間進行估算,并根據(jù)磁盤性能合理編排任務并行度。同時還需要考慮數(shù)據(jù)單位時間內(nèi)的數(shù)據(jù)增長量對任務執(zhí)行時間的影響,避免由于數(shù)據(jù)量的增加延長任務執(zhí)行時間而導致的任務并行執(zhí)行。4.3. 優(yōu)化磁盤VG提高磁盤IOPS最有效的方法就是增加通過增加物理磁盤數(shù)量并實現(xiàn)條帶化來提高整體的IOPS。但隨之帶來的硬件投資成本也會增加。這里我們可以通過將現(xiàn)有磁盤更換成等容量的小磁盤,目的是為了增加磁盤數(shù)量從而提高整體磁盤IOPS性能。如:當前一塊磁盤容量為600GB,我們可以將其拆解成6塊100GB Raid5磁盤或者12塊50GB Raid5磁盤進行VG條帶化處理。5. 實現(xiàn)5.1.

5、資源規(guī)劃硬件資源:Ø 服務器2臺Ø 數(shù)據(jù)磁盤12塊50GB Raid5磁盤(每臺服務器)軟件資源:Ø CentOS 7.1 x86_64 (mini installed)Ø MySQL 5.7 x86_645.2. 磁盤配置Ø 分別將兩臺服務器的各12塊Raid5磁盤初始化并創(chuàng)建VG。在創(chuàng)建LV時特別注意要制定LV所跨PV的數(shù)量從而實現(xiàn)VG條帶化。Ø 指定磁盤文件系統(tǒng)為xfs。5.3. 數(shù)據(jù)庫部署配置Ø 安裝MySQL數(shù)據(jù)庫并配置兩臺服務器的主從模式,將從庫定義為Read_only模式。Ø 配置binlog復制線程數(shù)。Ø 優(yōu)化數(shù)據(jù)庫內(nèi)存模型。Ø 導入數(shù)據(jù)5.4. 應用配置將用于數(shù)據(jù)調(diào)度的應用程序數(shù)據(jù)源從原來的數(shù)據(jù)庫服務器IP地址改為只讀數(shù)據(jù)庫服務器IP地址。6. 測試實施完成后為保證最終優(yōu)化效果,將對系統(tǒng)各個關鍵環(huán)節(jié)進行性能測試。測試將分為如下三個階段。6.1. 磁盤性能測試VG創(chuàng)建好后,確保磁盤可寫的前提下使用dd命令對磁盤的讀、寫分別進行性能測試。讀、寫測試將各進行5次從而選出最合適的磁盤塊大小。使用10GB文件大小,每次創(chuàng)建塊大小分別為4k、8k、16k、32k和64k,并記錄每次測試的時間結果。6.2. 數(shù)據(jù)庫性能測試數(shù)據(jù)庫性能測試可以使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論