阿里云ECS服務(wù)器CPU占用較高時,該如何處理?
分析一下問題,看看是什么原因。
是程序bug嗎?
檢查程序,看看是否有任何異常,如無限循環(huán)等。如果有,修改一下。
查找消耗cpu的程序
看程序,看程序哪個部分消耗cpu,看程序有沒有優(yōu)化的空間。可以用空間換取效率,比如使用緩存(這樣服務(wù)器就可以升級內(nèi)存配置)
程序可以如果可以將它們拆分到遠(yuǎn)程服務(wù)器,則不會被優(yōu)化。如果他們能如果不進(jìn)行拆分,該服務(wù)器的cpu核心和內(nèi)存數(shù)量將會增加。
看看是不是內(nèi)存不夠。
如果內(nèi)存不足,操作系統(tǒng)會頻繁換頁內(nèi)存,導(dǎo)致cpu升級。這個時候,加內(nèi)存。
看io是不是卡點(diǎn)。
如果io是卡點(diǎn),優(yōu)化程序,或者換ssd或者加緩存,視具體情況而定。
看看它是否其他系統(tǒng)造成的。
如果程序依賴一些其他系統(tǒng),比如數(shù)據(jù)庫或者其他服務(wù),而這些服務(wù)因?yàn)樾阅芎涂捎眯猿霈F(xiàn)問題,導(dǎo)致這個服務(wù)器的網(wǎng)絡(luò)請求堆積,這個時候cpu也會得到提升,這個時候就要分析解決依賴的服務(wù)。
前端程序被或攻擊
如果前端程序有bug或者被攻擊,也會對服務(wù)器的cpu造成壓力。如果bug解決了,如果被攻擊了,可以根據(jù)被攻擊的情況調(diào)整優(yōu)化服務(wù)器。如果攻擊比較大,可以用阿里云的一些網(wǎng)絡(luò)安全產(chǎn)品。
看看服務(wù)器有沒有被黑。
如果被入侵后安裝一些后臺木馬,cpu負(fù)載會過高,它可以此時無法解決,請重新安裝新服務(wù)器、部署程序或邀請相關(guān)安全專家或服務(wù)來解決。
確實(shí)是業(yè)務(wù)量增加造成的。
那么恭喜你,如果服務(wù)設(shè)計(jì)好一點(diǎn),服務(wù)器可以線性擴(kuò)展的話,瓶頸服務(wù)器就擴(kuò)展了;如果服務(wù)器沒有暫時不支持橫向擴(kuò)展,先完善服務(wù)器配置,然后逐步拆分服務(wù)器程序架構(gòu),先拆分業(yè)務(wù),等訪問量上去了再逐步微服務(wù)業(yè)務(wù),然后數(shù)據(jù)庫開始分區(qū)分表,這樣壓力可以平均分擔(dān),服務(wù)器的增加可以產(chǎn)生減壓效果。
網(wǎng)絡(luò)被人攻擊了,有什么解決辦法嗎?
可以選擇高防的云服務(wù)器。此外,CDN的使用可以有效提高網(wǎng)站的安全性和穩(wěn)定性。由于節(jié)點(diǎn)分散,攻擊者很難下手。攻擊節(jié)點(diǎn)只會影響節(jié)點(diǎn)的緩存訪問。例如,"智能調(diào)度與管理;"被鳥云加速的CDN會自動啟用另一個節(jié)點(diǎn),CDN服務(wù)節(jié)點(diǎn)的數(shù)量足夠多,那么攻擊者需要的流量包會呈幾何級增長,所以攻擊成本自然會很高。