當(dāng)我們發(fā)現(xiàn)網(wǎng)頁/應(yīng)用訪問突然變慢,我們可以從幾方面來定位問題:
- 看看是一個(gè)用戶的問題?還是一群用戶的問題?或是全部用戶的問題?
- 看看是前端問題?還是后端問題?
- 看看是數(shù)據(jù)庫問題?還是接口問題?或是服務(wù)器問題?
如果是一個(gè)用戶的問題,可以考慮是否是該用戶的網(wǎng)絡(luò)問題,或者我們的服務(wù)器有沒有對(duì)當(dāng)前用戶的IP進(jìn)行了限流或攔截。如果是固定某一群用戶的問題,可以考慮是否是某個(gè)電信運(yùn)營商的問題,或者我們某個(gè)的機(jī)房的問題。如果是全部用戶的問題,可以考慮是前端問題,還是后端問題。
對(duì)于是前端問題還是后端問題的定位,在定位問題之前,我們可以打開瀏覽器和服務(wù)器的調(diào)試模式,以查看網(wǎng)頁/應(yīng)用的執(zhí)行情況。
如果是前端問題,你可以看看html、css、JS等靜態(tài)資源是否加載正常,所用時(shí)間是否特別長。如果是后端問題,你可以看看是否是數(shù)據(jù)庫問題,接口問題,或服務(wù)器問題。
看看每一條SQL的執(zhí)行情況,看看有沒有慢查詢。看看請(qǐng)求外部接口是否正常,看看有沒有超時(shí)的情況。看看CPU、內(nèi)存、磁盤的使用情況,看看是否存在內(nèi)存溢出。看看請(qǐng)求來源ip,看看是否存在DDoS攻擊。
總之,要盡早發(fā)現(xiàn)問題,最好是提前在可能出現(xiàn)問題的地方增加日志和監(jiān)控。讓機(jī)器,而不是人工來發(fā)現(xiàn)問題。






