性能理論知識(shí)

性能?客戶需求說明書上的功能已完全且準(zhǔn)確無誤地實(shí)現(xiàn),只表明系統(tǒng)能做事,但是做得怎么樣還有待驗(yàn)證,“做得怎么樣”,就可以簡(jiǎn)單地理解為系統(tǒng)的性能。

性能測(cè)試?指在一定的軟件、硬件及網(wǎng)絡(luò)條件下,通過自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試,從而發(fā)現(xiàn)系統(tǒng)的性能瓶頸。也就是說,通過各種測(cè)試策略,模擬真實(shí)的用戶使用場(chǎng)景,驗(yàn)證系統(tǒng)能“做得怎么樣”。

并發(fā)用戶

1、絕對(duì)并發(fā):所有的用戶在同一時(shí)刻做同一件事情或者操作,一般指做同一類型的業(yè)務(wù),或所有用戶進(jìn)行完全一樣的操作。

2、相對(duì)并發(fā):多個(gè)用戶對(duì)系統(tǒng)發(fā)出了請(qǐng)求或者進(jìn)行了操作,但是這些請(qǐng)求或者操作可以是相同的,也可以是不同的。 相對(duì)并發(fā)包含絕對(duì)并發(fā),且相對(duì)并發(fā)更接近用戶的實(shí)際使用情況,因此對(duì)于大多數(shù)的系統(tǒng),只有數(shù)量很少的用戶進(jìn)行絕對(duì)并發(fā)。對(duì)于 WEB 性能測(cè)試而言,這 2 種并發(fā)情況一般都需要進(jìn)行測(cè)試,通常做法是先進(jìn)行絕對(duì)并發(fā)測(cè)試。絕對(duì)并發(fā)一般發(fā)生在使用比較頻繁的模塊中,盡管發(fā)生的概率不是很大,但是一旦發(fā)生性能問題,后果很可能是致命的。絕對(duì)并發(fā)測(cè)試往往和功能測(cè)試關(guān)聯(lián)起來,因?yàn)椴l(fā)功能遇到異常通常都是程序問題,這種測(cè)試也是健壯性和穩(wěn)定性測(cè)試的一部分。

點(diǎn)擊率?單位時(shí)間用戶向 WEB 服務(wù)器提交的 HTTP 請(qǐng)求數(shù)。這個(gè)指標(biāo)是 WEB 應(yīng)用特有的一個(gè)指標(biāo):WEB 應(yīng)用是“請(qǐng)求-響應(yīng)”模式,用戶發(fā)出一次申請(qǐng),服務(wù)器就要處理一次,所以點(diǎn)擊是 WEB 應(yīng)用能夠處理的交易的最小單位。點(diǎn)擊率越大,對(duì)服務(wù)器的壓力越大。點(diǎn)擊率只是一個(gè)性能參考指標(biāo),重要的是分析點(diǎn)擊時(shí)產(chǎn)生的影響。這里的點(diǎn)擊并非指鼠標(biāo)的一次單擊操作,因?yàn)樵谝淮螁螕舨僮髦?,客戶端可能向服?wù)器發(fā)出多個(gè) HTTP 請(qǐng)求。

事務(wù)?一個(gè)事務(wù)表示一個(gè)“從用戶發(fā)送請(qǐng)求->web server 接受到請(qǐng)求,進(jìn)行處理-> web server 向 DB 獲取數(shù)據(jù)->生成用戶的 object(頁面),返回給用戶”的過程。事務(wù)可能由一個(gè)請(qǐng)求,或一系列請(qǐng)求組成。

事務(wù)響應(yīng)時(shí)間?指的是從客戶端發(fā)起請(qǐng)求開始,到客戶端接收到從服務(wù)器端返回的響應(yīng)結(jié)束,這個(gè)過程所耗費(fèi)的時(shí)間,響應(yīng)時(shí)間的單位一般為“秒”或者“毫秒”。:響應(yīng)時(shí)間=網(wǎng)絡(luò)響應(yīng)時(shí)間+應(yīng)用程序響應(yīng)時(shí)間。標(biāo)準(zhǔn)可參考業(yè)界的 3/5/10 原則。

吞吐量?指軟件系統(tǒng)在每單位時(shí)間內(nèi)能處理多少個(gè)事務(wù)/請(qǐng)求等,也就是系統(tǒng)的處理能力。在不同的場(chǎng)景下 TPS 有不同的詮釋,比如數(shù)據(jù)庫的吞吐量指的是單位時(shí)間內(nèi),不同 SQL 語句的執(zhí)行數(shù)量,而在網(wǎng)絡(luò)的吞吐量指的是在單位時(shí)間內(nèi)在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)流量。吞吐量的大小由負(fù)載(如用戶數(shù))或行為方式來決定。

集合點(diǎn)?通過創(chuàng)建集合點(diǎn),可以配置多個(gè) Vuser 同時(shí)執(zhí)行同一操作。當(dāng)某個(gè) Vuser 到達(dá)該集合點(diǎn)時(shí),將進(jìn)行等待,直到參與該集合的全部 Vuser 都到達(dá)后,釋放所有這些 Vuser??赏ㄟ^將集合點(diǎn)插入到 Vuser 腳本來指定會(huì)合位置。

思考時(shí)間?即請(qǐng)求間的停頓時(shí)間。實(shí)際中,用戶在進(jìn)行一個(gè)操作后往往會(huì)停頓然后再進(jìn)行下一個(gè)操作,為了模擬這種用戶行為而引入了該概念。在虛擬用戶腳本中用函數(shù) lr_think_time()來模擬用戶處理過程,執(zhí)行該函數(shù)時(shí)用戶線程會(huì)按照相應(yīng)的 time 值進(jìn)行等待。

90%的響應(yīng)時(shí)間?指在一次完整的測(cè)試過程中,所有事務(wù)的請(qǐng)求時(shí)間,按從小到大順序排序,90%的事物所消耗的時(shí)間范圍。 最小和最大響應(yīng)時(shí)間偏差很大時(shí)會(huì)導(dǎo)致平均值本身并不可信,此時(shí),平均事務(wù)響應(yīng)時(shí)間滿足了性能需求,并不能表示系統(tǒng)的性能已經(jīng)滿足了絕大多數(shù)用戶的要求。所以,在評(píng)估性能測(cè)試結(jié)果時(shí),除了要考慮事務(wù)的平均響應(yīng)時(shí)間,還要考慮90%的事物響應(yīng)時(shí)間。

資源利用率?指對(duì)不同系統(tǒng)資源的使用程度,如服務(wù)器的 CPU(s),內(nèi)存,網(wǎng)絡(luò)帶寬,I/O 等。通常以占用最大值的百分比 n%來衡量。

負(fù)載測(cè)試?在一定的軟件、硬件及網(wǎng)絡(luò)條件下,通過運(yùn)行一種或多種業(yè)務(wù)在不同虛擬用戶數(shù)量情況下,測(cè)試系統(tǒng)的性能指標(biāo)是否在用戶的要求范圍內(nèi),用于確定系統(tǒng)所能承受的最大有效用戶數(shù)以及不同用戶數(shù)下的系統(tǒng)響應(yīng)時(shí)間及服務(wù)器的資源利用率。負(fù)載測(cè)試強(qiáng)調(diào)的是在一定的環(huán)境下系統(tǒng)能夠達(dá)到的峰值指標(biāo),目的是找到系統(tǒng)處理能力的極限。

壓力測(cè)試?在一定的軟件、硬件及網(wǎng)絡(luò)條件下,通過模擬大量的虛擬用戶向服務(wù)器產(chǎn)生負(fù)載,使服務(wù)器的資源處于極限狀態(tài)下并長時(shí)間連續(xù)運(yùn)行,以測(cè)試服務(wù)器在高負(fù)載情況下是否能夠穩(wěn)定工作。壓力測(cè)試強(qiáng)調(diào)在極端情況下系統(tǒng)的穩(wěn)定性。壓力測(cè)試方法測(cè)試目標(biāo)系統(tǒng)在一定飽和狀態(tài)下,例如 CPU、內(nèi)存等在飽和狀態(tài)下,系統(tǒng)還能否穩(wěn)定地提供服務(wù)。

配置測(cè)試?在不同的軟件、硬件和網(wǎng)絡(luò)條件下,通過運(yùn)行一種或多種業(yè)務(wù)在一定的虛擬用戶數(shù)量情況下,獲得不同配置的性能指標(biāo),用于選擇最佳的設(shè)備及參數(shù)配置。如 CPU、顯卡、內(nèi)存、硬盤、系統(tǒng)。

并發(fā)測(cè)試?通過模擬多個(gè)用戶并發(fā)訪問一個(gè)應(yīng)用或一個(gè)應(yīng)用的某個(gè)功能,同一個(gè)存儲(chǔ)過程,或接口以及其他并發(fā)操作,測(cè)試程序是否支持多用戶訪問,是否存在死鎖,線程同步的問題。

疲勞測(cè)試?軟件可靠性是軟件系統(tǒng)在規(guī)定的時(shí)間內(nèi)以及規(guī)定的環(huán)境條件下,完成規(guī)定功能的能力。 1)測(cè)試一個(gè)系統(tǒng)失效后重新恢復(fù)原有功能、性能的能力,涉及兩個(gè)方面:①原有能力恢復(fù)的程度;②原有能力恢復(fù)的速度 2)長時(shí)間(7*24)運(yùn)行系統(tǒng),檢查系統(tǒng)是否能穩(wěn)定運(yùn)行,有沒有內(nèi)存泄漏等。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,312評(píng)論 2 89
  • 本文翻譯自 Thinking Clearly About Performance 這是我三年前讀到的一篇關(guān)于性能問...
    mindwind閱讀 1,365評(píng)論 1 8
  • 一、常用到的性能測(cè)試術(shù)語 1.事務(wù)(Transaction) 在web性能測(cè)試中,一個(gè)事務(wù)表示一個(gè)“從用戶發(fā)送請(qǐng)求...
    Root_123閱讀 2,639評(píng)論 0 0
  • 性能測(cè)試是利用產(chǎn)品、人員和流程來降低應(yīng)用程序、升級(jí)程序或補(bǔ)丁程序部署風(fēng)險(xiǎn)的一種手段。性能測(cè)試的主要思想是通過模擬產(chǎn)...
    羽墨_99e8閱讀 3,154評(píng)論 0 10
  • 2017.11.11日 晴 星期六 昨晚媽媽上班,早上爸爸去上班,給媽...
    珍萍閱讀 187評(píng)論 0 0

友情鏈接更多精彩內(nèi)容