摘要:前言系統(tǒng)優(yōu)化是一個系統(tǒng)工程需要長期監(jiān)控長期及時解決的事情。主要從兩個方面來討論新系統(tǒng)上線前需要做些什么老系統(tǒng)優(yōu)化有哪些途徑新系統(tǒng)系統(tǒng)在設(shè)計時要考慮系統(tǒng)最大的等指標(biāo)系統(tǒng)整個至少能支持業(yè)務(wù)最高峰來設(shè)計系統(tǒng)。
前言
系統(tǒng)優(yōu)化是一個系統(tǒng)工程, 需要長期監(jiān)控長期及時解決的事情。我一直在開發(fā)的一線,積累了一些經(jīng)驗,開這個專欄。歡迎大家一起討論,互相學(xué)習(xí)及進(jìn)步。
主要從兩個方面來討論
新系統(tǒng)上線前需要做些什么
老系統(tǒng)優(yōu)化有哪些途徑
新系統(tǒng)系統(tǒng)在設(shè)計時要考慮系統(tǒng)最大的qps,tps等指標(biāo),系統(tǒng)整個至少能支持業(yè)務(wù)最高峰*2來設(shè)計系統(tǒng)。是不是系統(tǒng)支持越高指標(biāo)越好呢,單純來講的確最好, 但"世界沒有免費(fèi)的晚餐",系統(tǒng)要支持更高的并發(fā)處理能力,除了代碼層面的優(yōu)化,架構(gòu)層面還需要引入公共設(shè)施比如緩存,消息系統(tǒng)等,引入更多的設(shè)施帶來的風(fēng)險就會增加,不符合系統(tǒng)"簡單可依賴"的原則。
老系統(tǒng)俗話說: 找到問題所在,就解決了一半的問題。系統(tǒng)越來越慢有哪些原因, 怎么能找到原因呢,列舉一下我之前碰到過幾類場景。
系統(tǒng)依賴的外部接口反應(yīng)慢,而本系統(tǒng)http沒有用連接池,導(dǎo)致系統(tǒng)大量http請求hang住。機(jī)器CPU飆高,應(yīng)用服務(wù)器tomcat無法執(zhí)行新的請求大量拒絕服務(wù)。
系統(tǒng)上線導(dǎo)致不怎么優(yōu)化的sql上線, 有比較多的慢sql導(dǎo)致數(shù)據(jù)庫響應(yīng)變慢導(dǎo)致系統(tǒng)整體變慢
數(shù)據(jù)庫某些表的數(shù)據(jù)增長快,達(dá)到幾千萬條級別時出現(xiàn)系統(tǒng)變慢,由數(shù)據(jù)量增大導(dǎo)致的慢查詢
系統(tǒng)輸出日志量太大沒有及時切分,導(dǎo)致系統(tǒng)IO過大,CPU過載
代碼中對于線程使用不太合理,導(dǎo)致大部分線程處理等待狀態(tài),線程切換耗費(fèi)太長時間
代碼中存在資源互相鎖的情況,這里資源主要IO及網(wǎng)絡(luò)資源,還有隊列資源等導(dǎo)致無法高效的并行處理。
這里有兩個討論為了提高效率,什么時候值得引入緩存,引入緩存會有什么問題?
你碰到過什么問題導(dǎo)致線上服務(wù)變慢,如何找到原因的,如何解決的呢?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/62018.html
摘要:幾個死鎖場景兩個線程相互調(diào)用導(dǎo)致互相等待同步結(jié)束。線程為了檢測死鎖,它需要遞進(jìn)地檢測所有被請求的鎖。思考題線程有哪些狀態(tài)這些線程大多處于什么樣的狀態(tài)分布我們可以稱系統(tǒng)運(yùn)行是健康的。 前言 在上一期Tomcat優(yōu)化中,針對JVM相關(guān)主要參數(shù)做過一定說明,這一期主要介紹進(jìn)行一些概念及經(jīng)驗。后面分章節(jié)去講述相關(guān)工具的基本使用。 優(yōu)化優(yōu)先級 整體來講,系統(tǒng)優(yōu)化應(yīng)先優(yōu)化架構(gòu)及代碼,來解決具體功能...
摘要:技術(shù)的量化提升技術(shù)氛圍,打造工程師文化不能僅停留在口頭上,可搭配一定的強(qiáng)制手段,比如和技術(shù)人員的利益綁定。但是作為一個重要參考和風(fēng)向標(biāo),技術(shù)是有積極意義的。 為什么需要技術(shù)KPI? 在業(yè)務(wù)技術(shù)團(tuán)隊,有一個不好的趨勢就是團(tuán)隊越來越業(yè)務(wù),越來越?jīng)]有技術(shù)味道。每個人都在談業(yè)務(wù),技術(shù)大會上在談業(yè)務(wù),周會上在聊業(yè)務(wù),周報里寫的是業(yè)務(wù)項目...... 唯獨(dú)少被談及的是技術(shù)本身。此處并不是說業(yè)務(wù)不重...
摘要:在版本中,支持五種序列化方式,分別是依賴阿里的庫,功能強(qiáng)大支持普通類包括任意或完全兼容序列化協(xié)議的系列化框架,序列化速度大概是的倍,大小是大小的左右。但這里實際不是原生的序列化,而是阿里修改過的,它是默認(rèn)啟用的序列化方式自帶的序列化實現(xiàn)。 序列化——開篇 目標(biāo):介紹dubbo中序列化的內(nèi)容,對dubbo中支持的序列化方式做對比,介紹dubbo-serialization-api下的源碼...
閱讀 2596·2021-10-14 09:43
閱讀 3558·2021-10-13 09:39
閱讀 3288·2019-08-30 15:44
閱讀 3136·2019-08-29 16:37
閱讀 3700·2019-08-29 13:17
閱讀 2730·2019-08-26 13:57
閱讀 1824·2019-08-26 11:59
閱讀 1237·2019-08-26 11:46