一.優(yōu)化的哲學
1.為什么要優(yōu)化
為了獲得成就感枚碗?
為了證實比系統(tǒng)設計者更懂數(shù)據(jù)庫片部?
為了從優(yōu)化成果來證實優(yōu)化者更有價值脖阵?
但通常事實證實的結果往往會和您期待相反!
優(yōu)化有風險麻车,涉足需謹慎!
2.優(yōu)化風險
優(yōu)化不總是對一個單純的環(huán)境進行涡扼!還很可能是一個復雜的已投產(chǎn)的系統(tǒng)吹泡。
優(yōu)化手段本來就有很大的風險,只不過你沒能力意識到和預見到器瘪!
任何的技術可以解決一個問題翠储,但必然存在帶來一個問題的風險绘雁!
對于優(yōu)化來說解決問題而帶來的問題控制在可接受的范圍內(nèi)才是有成果。
保持現(xiàn)狀或出現(xiàn)更差的情況都是失斣庐舟!
穩(wěn)定性和業(yè)務可持續(xù)性通常比性能更重要!
優(yōu)化不可避免涉及到變更住拭,變更就有風險挪略!
優(yōu)化使性能變好,維持和變差是等概率事件滔岳!
優(yōu)化不能只是數(shù)據(jù)庫管理員擔當風險杠娱,但會所有的人分享優(yōu)化成果!
所以優(yōu)化工作是由業(yè)務需要驅(qū)使的3后 D痢卓研!
3.誰來參與
DBA:
數(shù)據(jù)庫管理員
DEV:
業(yè)務部門代表
應用程序架構師
應用程序設計人員
應用程序開發(fā)人員
SA:
硬件及系統(tǒng)管理員
存儲管理員
4.優(yōu)化方向
安全優(yōu)化(業(yè)務持續(xù)性)
性能優(yōu)化(業(yè)務高效性)
5.優(yōu)化的范圍及思路
01.優(yōu)化范圍:
存儲趴俘、主機和操作系統(tǒng)
主機架構穩(wěn)定性
I/O規(guī)劃及配置
Swap
os內(nèi)核參數(shù)
網(wǎng)絡問題
02.應用程序:(index、lock奏赘、sesslon)
應用程序穩(wěn)定性和性能
SQL語句性能
串行訪問資源
性能欠佳會話管理
03.數(shù)據(jù)庫優(yōu)化:(內(nèi)存寥闪、數(shù)據(jù)庫設計、參數(shù))
內(nèi)存
數(shù)據(jù)庫結構(物理&邏輯)
實例配置
優(yōu)化效果和成本的評估:
圖片.png
6.優(yōu)化框架
硬件(主機磨淌,存儲疲憋,網(wǎng)絡。梁只。)---> os----->文件系統(tǒng)-----> 數(shù)據(jù)庫實例(線程缚柳,會話,內(nèi)存)----->邏輯結構優(yōu)化----->SQL(DDL搪锣,DML秋忙,DCL,DQL构舟,索引)----->架構(高可用灰追,讀寫分離,分布式狗超,業(yè)務分離)
二.化工具的使用
1.os(cpu,MEM,IO(磁盤弹澎,網(wǎng)絡))
01.CPu: