架構(gòu)設(shè)計70-質(zhì)量管理02-性能優(yōu)化01-介紹

架構(gòu)設(shè)計系列文章顺囊,請參見連接斯棒。

背景

性能優(yōu)化是技術(shù)治理的一部分,也是體現(xiàn)出技術(shù)人員真正價值的工作娇跟。從經(jīng)驗來看對于性能優(yōu)化的認(rèn)識與過程了解影響著系統(tǒng)的可持續(xù)發(fā)展的能力春弥,正因如此性能優(yōu)化就決定了系統(tǒng)是否可以有序的發(fā)展為一個優(yōu)良的系統(tǒng)。在性能優(yōu)化過程中對于系統(tǒng)中瓶頸的識別以及解決就成了性能優(yōu)化的需求與目標(biāo)贾惦。

性能優(yōu)化會有幾篇文章,分別說明性能優(yōu)化的不同的內(nèi)容敦捧,包括:環(huán)境定義须板,測試策略,測試過程兢卵,測試工具习瑰,優(yōu)化辦法。而對于性能優(yōu)化來說整體步驟可以簡單的劃分為:\color{red}{性能測試}->\color{red}{性能分析}->\color{red}{性能優(yōu)化}秽荤。

性能測試

性能優(yōu)化過程中性能測試是發(fā)現(xiàn)問題的過程甜奄,是性能優(yōu)化的先決條件。根據(jù)克努特優(yōu)化原則:過早優(yōu)化是萬惡之源窃款。在沒有實際數(shù)據(jù)指導(dǎo)的情況下就開啟優(yōu)化過程是很不明智的過程课兄,而且很容易方向跑偏。所以晨继,必須在明確的數(shù)據(jù)作為支撐的情況下再開始進(jìn)行性能優(yōu)化過程烟阐。

雖然經(jīng)常能夠聽到性能測試這個詞,但是在這個詞背后具體包含哪些內(nèi)容,在未經(jīng)過深入了解時也不可能一目了然的知道蜒茄。這里就本著技術(shù)的深度決定著成就的高度的態(tài)度唉擂,重新挖掘一下性能測試的內(nèi)容。

  • 性能測試定義

性能測試是通過自動化的測試工具模擬多種正常檀葛、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試玩祟。

  • 性能測試分類

下面一段來自百度百科中《性能測試》。根據(jù)不同的測試目的屿聋,性能測試可以分為多種類型空扎,常見的有如下幾類:

  • 負(fù)載測試(Load Testing):負(fù)載測試是一種主要為了測試軟件系統(tǒng)是否達(dá)到需求文檔設(shè)計的目標(biāo),譬如軟件在一定時期內(nèi)胜臊,最大支持多少并發(fā)用戶數(shù)勺卢,軟件請求出錯率等,測試的主要是軟件系統(tǒng)的性能象对。

  • 壓力測試(Stress Testing):強(qiáng)度測試也就是壓力測試黑忱,壓力測試主要是為了測試硬件系統(tǒng)是否達(dá)到需求文檔設(shè)計的性能目標(biāo),譬如在一定時期內(nèi)勒魔,系統(tǒng)的cpu利用率甫煞,內(nèi)存使用率,磁盤I/O吞吐率冠绢,網(wǎng)絡(luò)吞吐量等抚吠,壓力測試和負(fù)載測試最大的差別在于測試目的不同。

  • 容量測試(Volume Testing):確定系統(tǒng)最大承受量弟胀,譬如系統(tǒng)最大用戶數(shù)楷力,最大存儲量,最多處理的數(shù)據(jù)流量等孵户。

  • 性能測試類型:

下面一段來自百度百科中《性能測試》萧朝。性能測試中包含以下測試類型:

  • 基準(zhǔn)測試:比較新的或未知測試對象與已知參照標(biāo)準(zhǔn)(如現(xiàn)有軟件或評測標(biāo)準(zhǔn))的性能。

  • 爭用測試:核實測試對象對于多個主角對相同資源(數(shù)據(jù)記錄夏哭、內(nèi)存等)的請求的處理是否可以接受检柬。

  • 性能配置:核實在操作條件保持不變的情況下,測試對象在使用不同配置時其性能行為的可接受性竖配。

  • 負(fù)載測試:核實在保持配置不變的情況下何址,測試對象在不同操作條件(如不同用戶數(shù)、事務(wù)數(shù)等)下性能行為的可接受性进胯。

  • 強(qiáng)度測試:核實測試對象性能行為在異秤米Γ或極端條件(如資源減少或用戶數(shù)過多)之下的可接受性。

  • 容量測試:核實測試用戶同時使用軟件程序的最大數(shù)量龄减。

  • 性能評價:通常是和用戶代表一起協(xié)作并且以多級方法執(zhí)行的项钮。

  • 性能指標(biāo)

4.DevOps-4.度量指標(biāo)--0.度量指標(biāo)(Metrics)》中已經(jīng)描述過指標(biāo)體系的建立與使用過程,而針對性能來說指標(biāo)幾乎已經(jīng)固定為幾個特殊的指標(biāo)。不過還是有很多性能指標(biāo)可以為性能分析提供很多幫助烁巫,在度量指標(biāo)中我們討論過指標(biāo)類型可以分為:

  1. Counter(計數(shù)器)
    請求次數(shù)等
  2. Gauge(測量器)
    瞬時內(nèi)存占用情況署隘,CPU使用情況等。
  3. Histogram(柱狀圖)
    響應(yīng)時間等亚隙。
  4. Meters(碼表)
    CPU Load數(shù)等磁餐。
  5. Timers(計時器)
    請求執(zhí)行時長等。
  • 其他

  • 測試內(nèi)容
    具像化測試內(nèi)容阿弃,例如對于區(qū)塊鏈交易頻次測試诊霹,那肯定是對整個區(qū)塊鏈系統(tǒng)中數(shù)據(jù)同步的過程進(jìn)行測試。對IoT環(huán)境進(jìn)行測試就要理清設(shè)備接入時使用的協(xié)議是那種渣淳,做通信的就要對于系統(tǒng)的整體交換速率作為系統(tǒng)性能表現(xiàn)脾还。

  • 環(huán)境定義
    測試環(huán)境與被測環(huán)境的定義確定著要優(yōu)化的范圍。

性能分析

性能分析是針對性能測試結(jié)果數(shù)據(jù)或著性能測試過程數(shù)據(jù)進(jìn)行分析已找到性能瓶頸的方法入愧。在性能測試完成后不可分析就代表著不可以進(jìn)行優(yōu)化鄙漏。故結(jié)果的可分析性至關(guān)重要。現(xiàn)在性能分析已經(jīng)有了長足的進(jìn)步棺蛛,有很多現(xiàn)成的程序可以幫助進(jìn)行性能分析的工作怔蚌。而且還可以可視化的展示分析結(jié)果。不過有些時候仍然需要進(jìn)行人工的分析工作旁赊。性能分析的主要目標(biāo)是可視化桦踊。

在借助現(xiàn)階段流行的《可觀測性》的實現(xiàn)方式之后,性能分析過程可以分為兩類:APM终畅,事后分析類籍胯。APM可以得到運行期間的運行情況,而對性能測試結(jié)果進(jìn)行分析可以得到整體用戶直觀感受离福。一般情況下會結(jié)合兩種方式進(jìn)行芒炼。


性能分析

性能優(yōu)化

針對性能分析的結(jié)果進(jìn)行優(yōu)化,不管是找到業(yè)務(wù)問題還是技術(shù)問題都需要在這里輸出相關(guān)的解決方案术徊。在技術(shù)上有一些通用的調(diào)優(yōu)方案,例如:阿里PTS上描述的性能測試 PTS > 性能測試基礎(chǔ)知識 > 測試分析及調(diào)優(yōu)鲸湃,有贊的一次假期故障引發(fā)的性能優(yōu)化思考赠涮。

總結(jié)

本文最主要說明的內(nèi)容是性能優(yōu)化的步驟以及步驟中可能的內(nèi)容,還有很多細(xì)節(jié)未明確出來暗挑。例如:通用性能指標(biāo)體系TPCC笋除、SPEC、SAP SD炸裆,性能分析過程中的分析方法垃它,性能調(diào)優(yōu)過程中的驗證過程等,性能調(diào)優(yōu)架構(gòu)級別調(diào)優(yōu)方法等等。這些都會在后面的文章中進(jìn)行更詳細(xì)的討論国拇。

參考

過早優(yōu)化是萬惡之源——克努特優(yōu)化原則 (Knuth's optimization principle)
性能測試的概念
性能優(yōu)化指南:性能優(yōu)化的一般性原則與方法
常用性能測試指標(biāo)解讀與使用價值分析
一次假期故障引發(fā)的性能優(yōu)化思考
【性能系列連載一】開篇:性能測試不可不知的“干貨”
Web「性能測試」知多少洛史?
性能分析
測試分析及調(diào)優(yōu)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市酱吝,隨后出現(xiàn)的幾起案子也殖,更是在濱河造成了極大的恐慌,老刑警劉巖务热,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忆嗜,死亡現(xiàn)場離奇詭異,居然都是意外死亡崎岂,警方通過查閱死者的電腦和手機(jī)捆毫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冲甘,“玉大人绩卤,你說我怎么就攤上這事∷鸷希” “怎么了省艳?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嫁审。 經(jīng)常有香客問我跋炕,道長,這世上最難降的妖魔是什么律适? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任辐烂,我火速辦了婚禮,結(jié)果婚禮上捂贿,老公的妹妹穿的比我還像新娘纠修。我一直安慰自己,他們只是感情好厂僧,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布扣草。 她就那樣靜靜地躺著,像睡著了一般颜屠。 火紅的嫁衣襯著肌膚如雪辰妙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天甫窟,我揣著相機(jī)與錄音密浑,去河邊找鬼。 笑死粗井,一個胖子當(dāng)著我的面吹牛尔破,可吹牛的內(nèi)容都是我干的街图。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼懒构,長吁一口氣:“原來是場噩夢啊……” “哼餐济!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起痴脾,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤颤介,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后赞赖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滚朵,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年前域,在試婚紗的時候發(fā)現(xiàn)自己被綠了辕近。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡匿垄,死狀恐怖移宅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情椿疗,我是刑警寧澤漏峰,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站届榄,受9級特大地震影響浅乔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铝条,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一靖苇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧班缰,春花似錦贤壁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至莹妒,卻和暖如春假丧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背动羽。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留渔期,地道東北人运吓。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓渴邦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拘哨。 傳聞我的和親對象是個殘疾皇子谋梭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容