淺談我所理解的性能測試~待更新

1.什么是性能測試

1.1性能測試的定義:

性能測試:指通過自動化的測試工具模擬多種正常妓柜,峰值以及異常負載條件來對系統(tǒng)的各項性能指標(biāo)進行測試回梧。

1.2性能測試的類型:

1.基準(zhǔn)測試:在各系統(tǒng)施加較低壓力時壁袄,查看系統(tǒng)的運行狀況并記錄相關(guān)參數(shù)來作為基礎(chǔ)
2.負載測試:指對系統(tǒng)不斷增加壓力或增加一定壓力下的持續(xù)時間亡脑,直到系統(tǒng)的某項或多項指標(biāo)達到安全臨界值
3.壓力測試:是評估系統(tǒng)處于或超過預(yù)期負載時系統(tǒng)的運行情況轩褐,關(guān)注點在于系統(tǒng)在峰值負載或超出最大載荷情況下的處理能力
4.穩(wěn)定性測試:在給系統(tǒng)加載一定業(yè)務(wù)壓力情況下,使系統(tǒng)運行一段時間,以此檢測系統(tǒng)是否穩(wěn)定
5.并發(fā)測試:測試多個用戶同時訪問同一個應(yīng)用,同一個模塊或者數(shù)據(jù)記錄時是否存在死鎖或其他性能問題

1.3性能測試應(yīng)用場景

作用 主要用途 典型場景 特點 常用性能測試方法
能力驗證 關(guān)注在給定的軟硬件條件下姨伟,系統(tǒng)是否具有預(yù)期的能力表現(xiàn) 在要求平均響應(yīng)時間小于2秒的前提下,如何判斷系統(tǒng)是否支持50萬用戶/天的訪問量? 1.要求在給定的環(huán)境下運行2.需要根據(jù)典型場景設(shè)計測試方案和用例 1.負載測試 2.壓力測試 3.穩(wěn)定性測試
規(guī)劃能力 關(guān)注如何使系統(tǒng)具有我們要求的性能能力 某某系統(tǒng)計劃在一年內(nèi)獲客量在XXX萬豆励,系統(tǒng)到時候是否支持用戶量夺荒?如果不能,如何調(diào)整系統(tǒng)? 1.它常是一種探索性的測試 2.常用于了解系統(tǒng)性能和獲得擴展性能的方法 1.負載測試 2. 壓力測試 3.配置測試
性能調(diào)優(yōu) 主要是對系統(tǒng)進行調(diào)優(yōu) 某某系統(tǒng)上線運行一段時間后響應(yīng)速度越來越慢般堆,此時如何辦在孝? 每次只改變一個配置诚啃,切忌無止境的調(diào)優(yōu) 1.并發(fā)測試 2.壓力測試 3.配置測試
缺陷發(fā)現(xiàn) 發(fā)現(xiàn)缺陷或問題重現(xiàn)淮摔,定位手段 某些缺陷只有在高負載的情況下才能暴露出來,如線程鎖始赎,資源競爭或內(nèi)存泄露 做為系統(tǒng)測試的補充和橙,用來發(fā)現(xiàn)并發(fā)問題,或者對系統(tǒng)已出現(xiàn)的問題進行重現(xiàn)和定位 1.并發(fā)測試 2.壓力測試
性能基準(zhǔn) 常用于敏捷開發(fā)過程中造垛,敏捷開發(fā)流程的特點是小步快走魔招,快速試錯,迭代周期短 很難定義完整的性能測試目標(biāo)五辽,也沒有時間在每個迭代開展詳細的性能測試办斑,可以通過建立性能基線,判斷迭代

2.什么時候需要性能測試

3.性能測試流程

3.1性能測試流程

1.需求分析
2.測試準(zhǔn)備
3.測試執(zhí)行
4.結(jié)果分析與調(diào)優(yōu)
5.報告與總結(jié) 

4.測試前需要準(zhǔn)備什么

4.1性能測試專業(yè)術(shù)語

響應(yīng)時間:從用戶發(fā)送一個請求到用戶收到服務(wù)器返回的響應(yīng)數(shù)據(jù)這段時間

數(shù)據(jù)路徑:客戶端發(fā)送請求杆逗,通過網(wǎng)絡(luò)發(fā)送到web服務(wù)器進行處理乡翅,如果需要操作數(shù)據(jù)庫,再由網(wǎng)絡(luò)轉(zhuǎn)發(fā)到數(shù)據(jù)庫進行處理罪郊,然后返回值給Web服務(wù)器蠕蚜,Web服務(wù)器最后把結(jié)果數(shù)據(jù)通過網(wǎng)絡(luò)返回客戶端

計算方法:Response Time = 網(wǎng)絡(luò)時間 + 應(yīng)用程序處理時間


1572339163599.png

圖中拐點說明:

1.響應(yīng)時間突然增加

2.意味著系統(tǒng)的一種或多種資源利用達到極限

3.通常可以利用拐點進行性能測試分析與定位

吞吐量:單位時間內(nèi)系統(tǒng)處理的客戶端請求的數(shù)量

計算單位:一般使用請求數(shù)/秒作為吞吐量的單位悔橄,也可以使用頁面數(shù)/秒表示

計算方法:Throughput=(number of requests)/(total time)

1572339500741.png

圖中拐點說明:

1.吞吐量逐漸達到飽和

2.意味著系統(tǒng)的一種或多種資源利用達到極限

3.通嘲欣郏可以利用拐點進行性能分析和定位

1.并發(fā)用戶數(shù):某一物理時刻同時向系統(tǒng)提交請求的用戶數(shù),提交的請求可以是同一場景或功能癣疟,也可以是不同的
2.在線用戶數(shù):某段時間內(nèi)系統(tǒng)訪問系統(tǒng)的用戶數(shù)挣柬,并不一定同時向系統(tǒng)提交請求
3.系統(tǒng)用戶數(shù):系統(tǒng)注冊的總用戶數(shù)

其中三者的關(guān)系:系統(tǒng)用戶數(shù)>在線用戶數(shù)>并發(fā)用戶數(shù)

資源利用率:指對不同系統(tǒng)資源的使用程度,通常用以占用最大值的百分比來衡量

通常指關(guān)注服務(wù)器的以下資源:

1.CPU:主要負責(zé)相關(guān)事情的判斷以及實際處理的機制

2.內(nèi)存:電腦中的記憶塊區(qū)睛挚,以供CPU進行判斷邪蛔,但是臨時的,訪問速度快竞川,遇到關(guān)機或斷電數(shù)據(jù)會丟失

3.磁盤IO:數(shù)據(jù)讀寫到硬件

4.網(wǎng)絡(luò):

1572339861087.png

圖中拐點說明:

1.服務(wù)器某資源利用逐漸達到飽和

2.通车暌纾可以利用拐點來進行性能測試分析與定位

1.TPS: Transactions Per Second,每秒事務(wù)數(shù)
2.思考時間:用戶每個操作后的暫停時間,或者叫操作之間的間隔時間
3.點擊數(shù):每秒鐘用戶向WEB服務(wù)器提交的HTTP請求數(shù)
4.PV:訪問一個URL,產(chǎn)生一個PV(Page View,頁面訪問量),每日每個網(wǎng)站的總PV是衡量一個網(wǎng)站規(guī)模的重要手段
5.UV:作為一個獨立的用戶委乌,訪問站點的所以頁面均算作一個UV(Unique Visitor床牧,用戶訪問)

4.2需求分析數(shù)據(jù)量化

4.3測試模型與測試數(shù)據(jù)準(zhǔn)備

曲線拐點模型:
地鐵模型:

4.4性能負載工具與系統(tǒng)監(jiān)控工具

性能負載工具:
系統(tǒng)監(jiān)控你工具:

5.測試需要解決哪些問題

5.1 項目具體需求

  • 通過解讀項目需求,需要提取出來的指標(biāo)有:

    響應(yīng)時間:

    并發(fā)數(shù):

    Tps數(shù)目:

    總Tps數(shù):

    穩(wěn)定性交易總量:

    事務(wù)成功率:

    交易波動范圍:

    穩(wěn)定運行時長:

    資源利用率:

    測試交易場景:

    需要測試的接口:

    需要測試的場景:

    項目對應(yīng)的生產(chǎn)與測試環(huán)境:

    系統(tǒng)通訊使用的協(xié)議:

    需要安排的壓力機數(shù)量:

    交易占比:分析線上日志得出Tps占比

    系統(tǒng)架構(gòu):

5.2 測試需要得出的數(shù)據(jù)

  • 需要明確一個基準(zhǔn):例如一個用戶迭代100次遭贸,關(guān)注響應(yīng)時間戈咳,事務(wù)成功率100%

  • 關(guān)注系統(tǒng)負載能力:例如十個用戶跑十分鐘,關(guān)注響應(yīng)時間,事務(wù)成功率100%

  • 關(guān)注系統(tǒng)容量能力:估算一個總TPS著蛙,根據(jù)公式計算出每個交易的PACING和VU删铃,獲取系統(tǒng)最大處理能力,再冊數(shù)三個梯度作為對比踏堡,四組容量VU等差猎唁,TPS等差,對比每組容量實際占比和測試占比,關(guān)注響應(yīng)時間顷蟆,總TPS诫隅,TPS,事務(wù)成功率帐偎,APP CPU利用率逐纬,數(shù)據(jù)庫CPU利用率,線程死鎖削樊,數(shù)據(jù)庫死鎖

注:響應(yīng)時間應(yīng)小于負載測試時間豁生,總TPS應(yīng)約等于預(yù)估總TPS,每個交易的TPS應(yīng)接近預(yù)估總TPS占比漫贞,事務(wù)成功率100%甸箱,APP CPU小于60%,DB CPU小于80%绕辖,DUMP線程棧檢測是否有線程死鎖摇肌,查看數(shù)據(jù)庫日志是否有數(shù)據(jù)庫死鎖

  • 關(guān)注系統(tǒng)穩(wěn)定能力:采用最有容量的80%作為壓力持續(xù)運行一段時間,觀察長時間運行的性能表現(xiàn)仪际,關(guān)注響應(yīng)時間围小,TPS,總TPS树碱,事務(wù)成功率肯适,交易總數(shù),觀察是否有內(nèi)存溢出成榜,CPU利用率是否達標(biāo)框舔,內(nèi)存是否不持續(xù)增長,是否正常出發(fā)fullgc,gc時間赎婚,gc頻率

6.系統(tǒng)性能有哪些關(guān)注點

6.1 用戶角度出發(fā)

  • 響應(yīng)時間

對于用戶來說刘绣,使用系統(tǒng)時最為關(guān)注的是點擊按鈕,提交請求到系統(tǒng)返回結(jié)果挣输,整個過程所消耗的時間就是用戶對于該系統(tǒng)性能最為直觀的感受纬凤。

6.2 管理員角度

  • 響應(yīng)時間

  • 服務(wù)器使用資源是否合理

  • 應(yīng)用服務(wù)器和數(shù)據(jù)庫使用資源是否合理

  • 系統(tǒng)能否實現(xiàn)擴展

  • 系統(tǒng)最多支持多少用戶訪問,系統(tǒng)最大業(yè)務(wù)處理量

  • 系統(tǒng)性能是否存在的瓶頸在哪

  • 更換哪些設(shè)備可以提高系統(tǒng)性能

  • 系統(tǒng)是否支持全天候的業(yè)務(wù)訪問

6.3 開發(fā)人員角度

  • 架構(gòu)是否合理

  • 數(shù)據(jù)庫設(shè)計是否合理

  • 代碼是否存在性能方面的問題

  • 系統(tǒng)是否有不合理的內(nèi)存使用情況

  • 系統(tǒng)是否存在不合理的線程同步方式

  • 系統(tǒng)是否存在不合理的資源競爭

6.4 測試人員角度

  • 連接超時

  • 系統(tǒng)崩潰

  • 系統(tǒng)交互

  • CPU使用問題

  • 內(nèi)存使用問題

7.怎么評價性能測試的結(jié)果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撩嚼,一起剝皮案震驚了整個濱河市停士,隨后出現(xiàn)的幾起案子挖帘,更是在濱河造成了極大的恐慌,老刑警劉巖恋技,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拇舀,死亡現(xiàn)場離奇詭異,居然都是意外死亡蜻底,警方通過查閱死者的電腦和手機骄崩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來朱躺,“玉大人刁赖,你說我怎么就攤上這事〕げ螅” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵鸡典,是天一觀的道長源请。 經(jīng)常有香客問我,道長彻况,這世上最難降的妖魔是什么谁尸? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮纽甘,結(jié)果婚禮上良蛮,老公的妹妹穿的比我還像新娘。我一直安慰自己悍赢,他們只是感情好决瞳,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著左权,像睡著了一般皮胡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赏迟,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天屡贺,我揣著相機與錄音,去河邊找鬼锌杀。 笑死甩栈,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的糕再。 我是一名探鬼主播量没,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼亿鲜!你這毒婦竟也來了允蜈?” 一聲冷哼從身側(cè)響起冤吨,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饶套,沒想到半個月后漩蟆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡妓蛮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年怠李,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛤克。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡捺癞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出构挤,到底是詐尸還是另有隱情髓介,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布筋现,位于F島的核電站唐础,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏矾飞。R本人自食惡果不足惜一膨,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洒沦。 院中可真熱鬧豹绪,春花似錦、人聲如沸申眼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豺型。三九已至仲智,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間姻氨,已是汗流浹背钓辆。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肴焊,地道東北人前联。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像娶眷,于是被迫代替她去往敵國和親似嗤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

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

  • 本課程主要講解性能測試以及性能測試工具Loadrunner届宠。 系統(tǒng)開發(fā)完畢了烁落,去做一下性能測試吧乘粒! 系統(tǒng)要驗收了,...
    zzulj閱讀 8,256評論 0 14
  • 本文翻譯自 Thinking Clearly About Performance 這是我三年前讀到的一篇關(guān)于性能問...
    mindwind閱讀 1,281評論 1 8
  • 性能測試的概念 定義:軟件的性能是軟件的一種非功能特性伤塌,它關(guān)注的不是軟件是否能夠完成特定的功能灯萍,而是在完成該功能時...
    我為峰2014閱讀 3,900評論 3 24
  • 性能測試:利用工具模擬大量用戶操作,驗證系統(tǒng)承受的負載情況每聪。性能測試的目的:找到潛在的性能問題或瓶頸旦棉,分析并解決;...
    小仙女本人呀閱讀 15,554評論 1 15
  • 本文轉(zhuǎn)載:http://www.reibang.com/p/c0cfbc1105af 性能測試的概念 定義:軟件...
    純粹_021a閱讀 1,414評論 0 0