場景描述
您的系統是否有這樣的問題?
系統運行緩慢,很多功能需要幾十秒才能呈現結果,用戶體驗極差,領導們不斷施壓,作為系統的負責人,只知道系統慢又不知道慢在哪里?我們遲遲不能解決問題,領導已經對我們怨聲載道了或者已經慢習慣了,不再反饋了。
系統的功能運行緩慢,在生產環境中語句運行時間很長,但是在測試環境或者單獨拿出這條語句運行的卻很快?這好像不科學呀?
我對數據有較多的了解,我能查出系統的等待,但是我不知道這些等待意味著什么,百度的答案五花八門解決不了我的問題。
我能找到等待,也能解決這部分等待,但只是通過一些腳本,不能全面了解現狀,只能東一錘子西一棒子的游擊戰。
我是專家問題我都能解決,但不能給領導一個直觀的展現。
系統等待簡介
一個好的SQL語句就好比一輛時速180的好車,好的系統硬件(CPU,內存,磁盤)就好比平坦寬闊的馬路。看似好車配好路,一定可以開的很快了!其實還忽略了一點!當你駕駛一輛法拉利跑在北京寬闊的三環上,就算你是老炮中的“三環十二少“,早高峰你能開到多少? 北京的早高峰!北京的早高峰!
這個例子就引出了系統阻塞和等待的概念,紅燈(硬件等待,如IO等待),這就是正常的等待。另外一輛車在你前面不走了或開的很慢,那么你也只能等待(也可以說成你被他阻塞了)!
一張圖告訴你系統的主要等待類型及解決思路: