数据库性能优化的误区!
作者:丁碼農
來源:www.cnblogs.com/dinglang
常見的數據庫系統優化中的一些觀點:?
“系統性能出現問題進行優化,一定要深入了解數據庫內部參數、等待事件、Latch、緩沖池、trace文件、查詢/優化引擎等底層細節。”?
這種觀點往往出自數據庫“高手”,這部分人以了解數據庫底層實現細節而感到非常驕傲。但是從優化角度講數據庫的等待事件、Latch等指標高等等都只是問題的表象,懂得底層細節和內幕固然是好。但是解決問題的關鍵往往是在應用層進行優化。
“只要系統參數調整了,性能就能提高。系統優化應該調整那些參數…”?
這種觀點往往出自于一些偏運維和應用層的DBA,迷戀參數配置來調優。?
調整系統參數是非常重要的,但不一定能解決性能問題,否則就不會有去IOE了,問題可能性最大的還是應用設計和開發問題。
同理,很多運維人員和系統架構師比較迷戀“Linux系統調優”。認為的對“文件句柄數、CPU/內存/磁盤子系統…”各種參數做了優化,以為這就能提升整個應用系統的性能。其實不然。有些場景下,針對業務特點和應用類型做操作系統調優是能取到立竿見影的效果,但是大多數時候往往提升并不明顯。所以最關鍵的還是找出瓶頸所在,對癥下藥。
“系統性能問題需要從架構上解決,與應用開發關系不大。”?
系統性能與各個層面都有關,整體架構很重要,但應用開發也是非常重要的一環。
“你們必須要做讀寫分離,必須要弄分庫分表。”
這種通常是“吹水”的人常在外面忽悠的,這些技術手段都被說爛了。
反問一句,了解數據量嗎?知道實際壓力和瓶頸嗎?了解讀寫比如何嗎?怎么拆?拆了之后怎么玩??
上述那些觀點,都是比較片面的,還是需要結合實際情況辯證分析。?
常見影響數據庫性能的因素:
1、業務需求和技術選型?
2、應用系統的開發及架構?
3、數據庫自身?
????3.1、表結構的設計?
????3.2、查詢語句?
????3.3、索引設計?
????3.4、Mysql服務(安裝、配置等)?
????3.5、操作系統調優?
????3.6、硬件升級(SSD、更強的CPU、更大的內存)?
4、數據架構(讀寫分離、分庫分表等)
性能調優的基本方法論:
理想的數據庫優化順序:
在很多情況下,數據庫可能是互聯網應用系統的最大瓶頸。但是單純從數據庫角度去做優化,可能未必能達到理想的效果。
總結
以上是生活随笔為你收集整理的数据库性能优化的误区!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一次 Young GC 的优化实践
- 下一篇: 中国学霸本科生提出AI新算法:速度比肩A