新聞發(fā)布
管理系統(tǒng)近公司網(wǎng)絡(luò)負(fù)責(zé)人申請(qǐng)購(gòu)買(mǎi)了一臺(tái)阿里云T5共享性云主機(jī),CPU15%當(dāng)時(shí)沒(méi)有太注意這個(gè)這個(gè)事情。服務(wù)器開(kāi)通后幾天網(wǎng)站不能訪問(wèn)服務(wù)器出現(xiàn)卡頓情況,技術(shù)一頓操作沒(méi)有發(fā)現(xiàn)個(gè)所以然,只能求助阿里工單,工單回復(fù):
工程師 67349 號(hào):您好,這邊測(cè)試telnet 您的遠(yuǎn)程端口22可以通,但是網(wǎng)站服務(wù)無(wú)法正常訪問(wèn),麻煩您通過(guò)控制臺(tái)遠(yuǎn)程連接功能登錄到服務(wù)器使用netstat -ntulp |grep 80命令查看一下網(wǎng)站服務(wù)是否正常監(jiān)聽(tīng),服務(wù)是否正常啟動(dòng)。 另外這邊查看到您這臺(tái)服務(wù)器是T5實(shí)例,該系列實(shí)例應(yīng)用于特殊的業(yè)務(wù)場(chǎng)景,如一天做一兩次活動(dòng)的網(wǎng)站業(yè)務(wù),其運(yùn)行機(jī)制較特殊,該實(shí)例在正常工作負(fù)載時(shí),CPU使用率大為15%,此時(shí)會(huì)獲取積分,待業(yè)務(wù)量上漲時(shí)可臨時(shí)提升CPU大使用率至70以上,對(duì)應(yīng)的此時(shí)會(huì)消耗積分,等積分用完了cpu會(huì)自動(dòng)下降為大15%,目前查看您近期cpu一直處于15%左右的狀態(tài) 如果主機(jī)沒(méi)有積分了,cpu的使用率會(huì)限制在15%,主機(jī)會(huì)變得卡頓。 您可以在實(shí)例控制臺(tái)確認(rèn)下當(dāng)前是否cpu積分已經(jīng)消耗完了,然后通過(guò)控制臺(tái)遠(yuǎn)程連接功能登錄到服務(wù)器,參考以下鏈接排查一下CPU負(fù)載高的原因。 https://help.aliyun.com/knowledge_detail/52566.html 如果您的業(yè)務(wù)不適合使用T5實(shí)例,建議升級(jí)變更成其他實(shí)例規(guī)格 T5實(shí)例規(guī)格介紹: https://help.aliyun.com/document_detail/59977.html?spm=5176.11065259.1996646101.searchclickresult.59af17b4pUxlCy
嗨~~!不小心入坑,要想保證15%的CPU使用量這個(gè)有點(diǎn)難,優(yōu)化的東西很多比如要優(yōu)化程序、Nginx、數(shù)據(jù)庫(kù)、PHP-FPM….~!這個(gè)時(shí)候經(jīng)驗(yàn)就起到作用了。工程師為了排查總結(jié)了一下過(guò)程如下:
首先:TOP查看一下占用CPU資源高的進(jìn)程
通過(guò)TOP命令發(fā)現(xiàn)aliyundun這個(gè)線程忽高忽低,Nginx的線程也很高,跟阿里工單溝通了一下aliyundun的線程占用2.5%工單說(shuō)正常,那只能查看Nginx了。
后來(lái):工程師采用了簡(jiǎn)單粗暴的方法,停止web服務(wù)
發(fā)現(xiàn)aliyundun的進(jìn)程也降下去了,CPU一下子見(jiàn)到了0.1%看來(lái)nginx出了問(wèn)題,接著工程挨個(gè)開(kāi)啟網(wǎng)站服務(wù),發(fā)現(xiàn)并非網(wǎng)站程序的問(wèn)題,那就是nginx的問(wèn)題為了服務(wù)穩(wěn)定工程師覺(jué)得不排查nginx服務(wù)了。
接著:查看nginx版本升級(jí)版本,問(wèn)題解決,此方法慎用
工程師看了一下nginx版本為1.8.1果斷升級(jí)了1.15.1升級(jí)問(wèn)題解決,后臺(tái)技術(shù)人員總結(jié)了一下應(yīng)該重啟一下php-fpm又能是這塊出了問(wèn)題。