前言

  應用系統承載著大量的業(yè)務,隨之而來的是復雜的業(yè)務邏輯,在數據庫上的表現就是有著大量的不同種類的SQL語句。

  SQL語句執(zhí)行的快慢又與阻塞等待有著密不可分的原因。

  系統慢可能有很多種原因,硬件資源不足,語句不優(yōu)化,結構設計不合理,缺少必要的運維方式。所有的這些問題都可以在阻塞與等待中看出端倪,發(fā)現并解決問題。

  今天這篇我們主要講述怎么樣發(fā)現并解決系統的阻塞和等待。

場景描述

  您的系統是否有這樣的問題?

  1. 系統運行緩慢,很多功能需要幾十秒才能呈現結果,用戶體驗極差,領導們不斷施壓,作為系統的負責人,只知道系統慢又不知道慢在哪里?我們遲遲不能解決問題,領導已經對我們怨聲載道了或者已經慢習慣了,不再反饋了。

  2. 系統的功能運行緩慢,在生產環(huán)境中語句運行時間很長,但是在測試環(huán)境或者單獨拿出這條語句運行的卻很快?這好像不科學呀?

  3. 我對數據有較多的了解,我能查出系統的等待,但是我不知道這些等待意味著什么,百度的答案五花八門解決不了我的問題。

  4. 我能找到等待,也能解決這部分等待,但只是通過一些腳本,不能全面了解現狀,只能東一錘子西一棒子的游擊戰(zhàn)。

  5. 我是專家問題我都能解決,但不能給領導一個直觀的展現。

系統等待