根據(jù)我們實(shí)際對(duì)不同系統(tǒng)進(jìn)行性能測(cè)試的經(jīng)驗(yàn),幾乎所有的系統(tǒng),都存在性能問題,很多還是比較嚴(yán)重。我們沒有發(fā)現(xiàn)性能問題,往往是使用用戶的個(gè)數(shù)太少,沒有發(fā)現(xiàn)。
比如,某大學(xué)開發(fā)的一個(gè)系統(tǒng),使用了幾個(gè)月,反饋良好。做了一輪性能測(cè)試,發(fā)現(xiàn)并發(fā)用戶連10個(gè)都達(dá)不到,其實(shí)性能很糟糕,沒有發(fā)現(xiàn)這些問題,只是因?yàn)橛脩籼倭恕?/span>
越是重要的系統(tǒng),用戶量越多,越容易暴漏性能問題。
當(dāng)性能出現(xiàn)問題,如何進(jìn)行性能分析和定位?目前流行的做法,就是進(jìn)行全鏈路壓測(cè),然后看鏈路上的計(jì)數(shù)器。
對(duì)于復(fù)雜的系統(tǒng),往往使用集群和微服務(wù)等架構(gòu),使用了各種支撐軟件。因此,可能存在的性能瓶頸的點(diǎn),就非常多。
我們針對(duì)典型的支撐軟件和平臺(tái),介紹各種計(jì)數(shù)器。
Nginx主要的計(jì)數(shù)器:
Mysql的計(jì)數(shù)器很多,如下:
myISAM的計(jì)數(shù)器:
Innodb:
線程和IO:
網(wǎng)絡(luò)流量和臨時(shí)表:
通過mysql的各個(gè)計(jì)數(shù)器,我們就可以比較準(zhǔn)確的判定是否存在數(shù)據(jù)庫問題。當(dāng)然,還有一個(gè)非常重要的計(jì)數(shù)器,就是慢日志。
Redis也具有大量的計(jì)數(shù)器:
狀態(tài)計(jì)數(shù)器:
內(nèi)存計(jì)數(shù)器:
客戶端計(jì)數(shù)器:
持久化計(jì)數(shù)器:
上面,我們列舉了幾個(gè)重要的支撐軟件的計(jì)數(shù)器,便于我們能夠迅速的定位問題,幫助我們實(shí)現(xiàn)性能調(diào)優(yōu)。
推薦閱讀:
本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問題,請(qǐng)權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。