優化資料庫的合理順序
資料庫效能差,需要優化
你發現
磁碟IO非常忙,看到的IOWAIT比較大
好吧,買硬碟,提升IOPS
確實提升了效能,30%
又發現
記憶體命中率比較低
OK,加大記憶體
確實提升了效能,30%
記憶體命中率比較低
OK,加大記憶體
確實提升了效能,30%
又發現
記憶體大了後,邏輯讀太多,導致CPU比較忙,接近100%
OK,加大CPU
確實提升了效能 20%
記憶體大了後,邏輯讀太多,導致CPU比較忙,接近100%
OK,加大CPU
確實提升了效能 20%
又發現,幾個SQL的索引建立有問題
優化SQL,調整索引
提升了500%
優化SQL,調整索引
提升了500%
某天,跟應用方聊天發現,這幾個SQL可以不要,應用升級後去掉。。。。。。。
優化資料庫問題的方法論,一般應該從架構的最上級開始,然後往下
應用 資料庫 主機 儲存
如果這個順序顛倒過來,就會非常容易搞錯哪個是因哪個是果
如果一開始選擇的是優化SQL,那麼可能前面的東西都不用做了
應用 資料庫 主機 儲存
如果這個順序顛倒過來,就會非常容易搞錯哪個是因哪個是果
如果一開始選擇的是優化SQL,那麼可能前面的東西都不用做了
一般正常的步驟應該是:
優化應用,比如減少某些不必要SQL的執行,合併查詢等
優化資料庫,比如調整SQL,優化索引等
優化主機,增大記憶體,增加CPU
優化儲存,增加磁碟,重新平衡資料分佈
優化應用,比如減少某些不必要SQL的執行,合併查詢等
優化資料庫,比如調整SQL,優化索引等
優化主機,增大記憶體,增加CPU
優化儲存,增加磁碟,重新平衡資料分佈
在上層確實優化已經做到位,不能再優化的情況下,再考慮下層優化,這樣基本能確保優化方向的正確性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-761662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料型別優先順序資料型別
- Oracle資料庫對GCC的安裝順序Oracle資料庫GC
- php與資料庫連線如何實現資料的順序和倒序PHP資料庫
- 不合理的執行順序引發的死鎖
- 演算法題———————輸入棧的入棧順序和出棧順序判斷是否合理演算法
- python運算子及優先順序順序Python
- CSS優先順序CSS
- 資料庫優化 - SQL優化資料庫優化SQL
- MongoDB資料庫順序讀效能評估測試MongoDB資料庫
- 資料庫優化資料庫優化
- 資料庫的優化需要資料庫優化
- 順序表有序插入資料
- Oracle優化案例-分頁語句返回資料順序不一致(十一)Oracle優化
- JavaScript for迴圈語句的執行順序和優化JavaScript優化
- 中斷優先順序
- 能否在Oracle資料庫表中指定列順序OKOracle資料庫
- [譯]HTTP/2的優先順序HTTP
- CSS的處理優先順序CSS
- nginx的location匹配順序、優先順序,location對映衝突排查Nginx
- MySQL資料庫優化MySql資料庫優化
- 資料庫優化SQL資料庫優化SQL
- Oracle資料庫優化Oracle資料庫優化
- 資料庫效能優化資料庫優化
- 資料庫優化流程資料庫優化
- 資料庫結構的優化資料庫優化
- 資料庫的優化和效率資料庫優化
- 資料庫優化的步驟資料庫優化
- 優化資料庫EXP的效率優化資料庫
- SpringBoot配置檔案優先順序載入順序Spring Boot
- Oracle效能優化之合理利用資源(session)Oracle優化Session
- sql語句執行順序與效能優化(1)SQL優化
- Oracle 優化器與sql查詢執行順序Oracle優化SQL
- 優先順序佇列是一種什麼樣的資料結構佇列資料結構
- Android程式優先順序Android
- SQL 優先順序join>whereSQL
- java運算子優先順序Java
- nginx快取優先順序Nginx快取
- php運算子優先順序PHP