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