在實際的網(wǎng)站運營中翠忠,會出現(xiàn)各種各樣的問題導(dǎo)致網(wǎng)站訪問變慢鞠苟,甚至響應(yīng)超時,下面講一下從排查問題到解決問題的過程秽之。
首先不要慌当娱,沉著冷靜是解決問題的首要條件,排查過程如下:
1.確定自己所在的內(nèi)網(wǎng)有沒有問題考榨,可以訪問一下其他網(wǎng)站的速度跨细,對比速度,如果內(nèi)網(wǎng)沒問題河质,則看其下
2.使用ping www.xxx.com 命令觀察服務(wù)器的響應(yīng)時間以及是否有丟包冀惭,如果響應(yīng)時間很長,或者有很多超時掀鹅,則說明網(wǎng)站慢的原因在于網(wǎng)站入口的公網(wǎng)網(wǎng)絡(luò)有問題散休,如果有cdn,則說明cdn所在的網(wǎng)絡(luò)有問題乐尊,聯(lián)系網(wǎng)絡(luò)或者cdn運營商即可戚丸。否則如果ping響應(yīng)很順暢,則看其下
3.如果使用cdn則檢測服務(wù)所在的機(jī)房所在的網(wǎng)絡(luò)是否正常 ping 即可扔嵌,如果機(jī)房網(wǎng)絡(luò)也沒問題限府,則看其下
4.網(wǎng)站的前端一般使用lvs,haproxy痢缎,slb等負(fù)載均衡工具胁勺,則要檢測這些負(fù)載均衡軟件的運行狀況,如果正常則看其下
5.負(fù)載均衡的后面往往是前端代理服務(wù)器独旷,目前最流行的莫過于nginx署穗,這時就得查看nginx的訪問日志了,要特別關(guān)注一下nginx的error日志势告,如果有大量訪問超時蛇捌,則問題可確定為后端服務(wù)響應(yīng)有問題抚恒。具體進(jìn)入后端服務(wù)器所在f的服務(wù)器咱台,使用top查看服務(wù)器的cpu、內(nèi)存的負(fù)載情況俭驮,iostat查看io的負(fù)載狀況回溺,從而確定響應(yīng)慢的進(jìn)程以及服務(wù)春贸,步驟如下
6.如果發(fā)現(xiàn)的某進(jìn)程cpu使用率高 則可以使用 top -H -p 進(jìn)程號 查看具體應(yīng)用里面占用cpu的線程號,那java的后端服務(wù)講解 可以使用jstack打印當(dāng)前堆棧信息遗遵,把之前找到的線程號轉(zhuǎn)化為十六進(jìn)制萍恕,在jstack打印的信息里面搜索,把對應(yīng)的信息提供給開發(fā)者车要,從而解決問題
7.很大可能的原因是數(shù)據(jù)庫響應(yīng)慢導(dǎo)致的連鎖問ut如果使用mysql數(shù)據(jù)庫允粤,可以查看mysql的慢查詢?nèi)罩荆业綄?yīng)響應(yīng)慢的sql語句翼岁,進(jìn)行索引優(yōu)化类垫,或者提供給程序組進(jìn)行功能的改進(jìn)優(yōu)化
8.查看后端服務(wù)器日志往往也能發(fā)現(xiàn)很多問題,具體看項目...