網站響應慢的緣由分析

        我原來的一個學生今天給我打電話說他們網站訪問的時候特別慢,讓我幫他分析一下緣由。原來也有一些朋友問過我相似的問題,今天晚上特地寫了這篇文章跟你們分享,但願對你們有所幫助。假如你是運維人員你會如何作?緣由大概有幾個方面呢?若是你已經有必定的運維經驗了,但願你可以先本身想一下,看一下本身想到的有哪些方面,而後再日後看,這對你總結問題會頗有幫助奧。我總結大概有幾個方面:nginx

    第一個方面,網絡問題。網絡問題可能細分爲幾種,1. 用戶自己的網絡慢,好比有的用戶爲了省錢會在一些小運營商那裏拉寬帶,其實賤錢無好貨在這裏也是適應的。這些小運營商爲了省錢,他們的帶寬通常都比較差,甚至是外省的資源。有得朋友明明在北京上網,ip138卻顯示你是天津的ip就是這個緣由。最簡單的判斷方法就是你去tracert一個比較大網站,好比www.so.com看一下有多少跳,通常狀況下在10跳左右若是比這個大不少就多是這個問題了。服務器

    第二個方面是跨運營商的問題。好比用戶的網絡是電信,而大家服務器放在聯通機房。你們都知道中國的運營商之間的網絡聯通狀況是比較糟糕的,一旦出現這種跨運營商訪問的時候就很是容易出問題,這時候能夠選擇把服務器放到雙線或者多線機房裏來解決問題。網絡

    第三個方面,劫持問題。這種狀況必須有必定的運維經驗的人才會了解。通常狀況下一些小得運營商,特別是移動常常會出現這個狀況。前段時間咱們360軟件管家的運營部門聯繫我說有幾個某省移動網的用戶在用軟件管家時出現白屏的狀況,讓我協助他們分析一下緣由。我在聯繫用戶得到相應的信息,分析以後發如今用戶端訪問咱們域名時解析出來的ip是錯的,根本不是咱們服務器的ip。很顯然這是移動劫持了咱們軟件管家用得某些域名。其實劫持有好幾種,這只是其中一種,等我有時間再專門針對劫持跟你們作一次分享。運維

    第四個方面,服務器負載過大。首先根據報警系統,好比收到的手機短信來判斷是提供服務的全部節點都有報警仍是個別節點有報警。若是是大面積的報警多是大家的業務受到了***或者是最近一版的網站代碼有bug。這時你能夠去服務器上面用netstat等命令來看一下服務器的tcp鏈接狀況。假如鏈接數並非太多,好比大家用的是nginx,通常狀況在用戶量不是太大的狀況下,幾百個或者一千甚至幾千的鏈接數都是正常,這個你要根據大家實際的業務來判斷。若是跟正常的鏈接數差很少但訪問特別慢得話,多是程序代碼有問題,這時候要及時聯繫開發一塊兒來分析問題的緣由;好比用strace來跟蹤nginx進程看一下具體的緣由。假若有大量的tcp鏈接(通常都會上萬),而且狀態爲SYN_RECV的特別多,恭喜你,你的服務器極可能是受到***了。有過相似經歷的朋友可能會說在服務器遭到這個規模的sync***時netstat根本就沒響應,甚至把一個cpu打滿。別急,這裏有一個比較時髦的命令ss,這個時候你用 ss加上at參數能夠很快把tcp的鏈接狀況顯示出來。 而後就能夠用我原來寫得iptables文章中得防DDOS的腳原本阻止這些ip的訪問就ok了。若是是個別服務器響應慢得話就得具體分析了。這個我會專門寫個如何判斷服務器負載大的文章來專門分析這個狀況。暫時想到的就這麼多,你們有想到的能夠再告訴我,我再補充,你們一塊兒提升。不早了,睡覺了,明天還得上班呢....tcp

    對了你們以爲若是對本身還有那麼一點點幫助的,但願你們多點贊,多評論,感謝!!!你們能夠加入運維交流羣:325525293 來一塊兒交流。ide

相關文章
相關標籤/搜索