小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

性能專題:一文搞懂性能測試常見指標(biāo)

 測試開發(fā)技術(shù) 2022-06-18 發(fā)布于廣東

1. 前言

上周,對性能測試系列專題,在公號(hào)內(nèi)發(fā)表了第一篇介紹:【性能系列連載一】開篇:性能測試不可不知的“干貨”,但反響貌似并不太好,但既然此前已答應(yīng)了部分讀者要連載分享性能這塊的知識(shí),含著淚也得繼續(xù)寫。

性能測試的基礎(chǔ):就是在確保功能實(shí)現(xiàn)正確的前提下,通過合適的性能測試加壓方式和策略,并收集考察服務(wù)端應(yīng)用程序的各項(xiàng)性能指標(biāo),以及服務(wù)器硬件資源的使用情況,來評(píng)估是否存在性能問題隱患。

那今天作為性能測試系列的第二篇,主要會(huì)為大家介紹在服務(wù)端性能測試中,常見的性能指標(biāo)有哪些。

2. 性能指標(biāo)分類

從性能測試分析度量的度角來看,可以從如下幾個(gè)維度來收集考察各項(xiàng)性能指標(biāo):

  • 系統(tǒng)性能指標(biāo)

  • 資源性能指標(biāo)

  • 中間件指標(biāo)

  • 數(shù)據(jù)庫指標(biāo)

  • 穩(wěn)定性指標(biāo)

  • 可擴(kuò)展性指標(biāo)

  • 可靠性指標(biāo)

下面將從如上這幾個(gè)維度,分別從各自維度常見指標(biāo),以及指標(biāo)含義、指標(biāo)行業(yè)參考標(biāo)準(zhǔn)等方面進(jìn)行介紹。

3. 系統(tǒng)性能指標(biāo)

系統(tǒng)性能指標(biāo),常見的可從如下幾類進(jìn)行參考:

  • 響應(yīng)時(shí)間

  • 系統(tǒng)處理能力

  • 吞吐量

  • 并發(fā)用戶數(shù)

  • 錯(cuò)誤率

3.1 響應(yīng)時(shí)間

義和解釋:響應(yīng)時(shí)間,簡稱RT。是指系統(tǒng)對請求作出響應(yīng)的時(shí)間,可以理解為是指用戶從客戶端發(fā)起一個(gè)請求開始,到客戶端接收到從服務(wù)器端返回的響應(yīng)結(jié)束,整個(gè)過程所耗費(fèi)的時(shí)間。直觀上看,這個(gè)指標(biāo)與人對軟件性能的主觀感受是非常一致的,因?yàn)樗暾赜涗浟苏麄€(gè)計(jì)算機(jī)系統(tǒng)處理請求的時(shí)間。

在性能檢測中一般以壓力發(fā)起端至被壓測服務(wù)器返回處理結(jié)果的時(shí)間為計(jì)量,單位一般為秒或毫秒,由于一個(gè)系統(tǒng)通常會(huì)提供許多功能,而不同功能的處理邏輯也千差萬別,因而不同功能的響應(yīng)時(shí)間也不盡相同,甚至同一功能在不同輸入數(shù)據(jù)的情況下響應(yīng)時(shí)間也不相同。所以,在討論一個(gè)系統(tǒng)的響應(yīng)時(shí)間時(shí),通常是指該系統(tǒng)所有功能的平均時(shí)間或者所有功能的最大響應(yīng)時(shí)間。

行業(yè)參考標(biāo)準(zhǔn):

不同行業(yè)不同業(yè)務(wù)可接受的響應(yīng)時(shí)間是不同的,一般情況,對于在線實(shí)時(shí)交易:

  • 互聯(lián)網(wǎng)企業(yè):500毫秒以下,例如淘寶業(yè)務(wù)10毫秒左右。

  • 金融企業(yè):1秒以下為佳,部分復(fù)雜業(yè)務(wù)3秒以下。

  • 保險(xiǎn)企業(yè):3秒以下為佳。

  • 制造業(yè):5秒以下為佳。

  • 時(shí)間窗口:不同數(shù)據(jù)量結(jié)果是不一樣的,大數(shù)據(jù)量的情況下,2小時(shí)內(nèi)完成。

需要指出的是,響應(yīng)時(shí)間的絕對值并不能直接反映軟件的性能的高低,軟件性能的高低實(shí)際上取決于用戶對該響應(yīng)時(shí)間的接受程度。

3.2 系統(tǒng)處理能力

定義和解釋:系統(tǒng)處理能力是指系統(tǒng)在利用系統(tǒng)硬件平臺(tái)和軟件平臺(tái)進(jìn)行信息處理的能力。系統(tǒng)處理能力通過系統(tǒng)每秒鐘能夠處理的交易數(shù)量來評(píng)價(jià),交易有兩種理解:一是業(yè)務(wù)人員角度的一筆業(yè)務(wù)過程;二是系統(tǒng)角度的一次交易申請和響應(yīng)過程。前者稱為業(yè)務(wù)交易過程,后者稱為事務(wù)。兩種交易指標(biāo)都可以評(píng)價(jià)應(yīng)用系統(tǒng)的處理能力。

一般情況下,系統(tǒng)處理能力又用以下幾個(gè)指標(biāo)來度量:

  • HPS(Hits Per Second) :每秒點(diǎn)擊次數(shù),單位是次/秒。

  • TPS(Transaction per Second):系統(tǒng)每秒處理交易數(shù),單位是筆/秒。

  • QPS(Query per Second):系統(tǒng)每秒處理查詢次數(shù),單位是次/秒。

對于互聯(lián)網(wǎng)業(yè)務(wù)中,如果某些業(yè)務(wù)有且僅有一個(gè)請求連接,那么TPS=QPS=HPS,一般情況下用TPS來衡量整個(gè)業(yè)務(wù)流程,用QPS來衡量接口查詢次數(shù)用HPS來表示對服務(wù)器點(diǎn)擊請求。

行業(yè)參考標(biāo)準(zhǔn):

無論TPS、QPS、HPS,此指標(biāo)是衡量系統(tǒng)處理能力非常重要的指標(biāo),越大越好,根據(jù)經(jīng)驗(yàn),一般情況下:

  • 金融行業(yè):1000TPS~50000TPS,不包括互聯(lián)網(wǎng)化的活動(dòng)

  • 保險(xiǎn)行業(yè):100TPS~100000TPS,不包括互聯(lián)網(wǎng)化的活動(dòng)

  • 制造行業(yè):10TPS~5000TPS

  • 互聯(lián)網(wǎng)電子商務(wù):10000TPS~1000000TPS

  • 互聯(lián)網(wǎng)中型網(wǎng)站:1000TPS~50000TPS

  • 互聯(lián)網(wǎng)小型網(wǎng)站: 500TPS~10000TPS

3.3 吞吐量

定義和解釋:吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請求的數(shù)量。

對于單用戶的系統(tǒng),響應(yīng)時(shí)間可以很好地度量系統(tǒng)的性能,但對于并發(fā)系統(tǒng),通常需要用吞吐量作為性能指標(biāo)。

而對于一個(gè)多用戶的系統(tǒng),如果只有一個(gè)用戶使用時(shí)系統(tǒng)的平均響應(yīng)時(shí)間是t,當(dāng)有你n個(gè)用戶使用時(shí),每個(gè)用戶看到的響應(yīng)時(shí)間通常并不是n×t,而往往比n×t小很多(當(dāng)然,在某些特殊情況下也可能比n×t大,甚至大很多)。一般而言,吞吐量是一個(gè)比較通用的指標(biāo),兩個(gè)具有不同用戶數(shù)和用戶使用模式的系統(tǒng),如果其最大吞吐量基本一致,則可以判斷兩個(gè)系統(tǒng)的處理能力基本一致。

3.4 并發(fā)用戶數(shù)

定義和解釋:并發(fā)用戶數(shù)指在同一時(shí)刻內(nèi),登錄系統(tǒng)并進(jìn)行業(yè)務(wù)操作的用戶數(shù)量。

并發(fā)用戶數(shù)對于長連接系統(tǒng)來說最大并發(fā)用戶數(shù)即是系統(tǒng)的并發(fā)接入能力。對于短連接系統(tǒng)而言最大并發(fā)用戶數(shù)并不等于系統(tǒng)的并發(fā)接入能力,而是與系統(tǒng)架構(gòu)、系統(tǒng)處理能力等各種情況相關(guān)。

與吞吐量相比,并發(fā)用戶數(shù)是一個(gè)更直觀但也更籠統(tǒng)的性能指標(biāo)。實(shí)際上,并發(fā)用戶數(shù)是一個(gè)非常不準(zhǔn)確的指標(biāo),因?yàn)橛脩舨煌氖褂媚J綍?huì)導(dǎo)致不同用戶在單位時(shí)間發(fā)出不同數(shù)量的請求。

3.5  錯(cuò)誤率

定義和解釋:錯(cuò)誤率簡稱FR,指系統(tǒng)在負(fù)載情況下,失敗交易的概率。錯(cuò)誤率=(失敗交易數(shù)/交易總數(shù))*100%。

行業(yè)參考標(biāo)準(zhǔn):

不同系統(tǒng)對錯(cuò)誤率的要求不同,但一般不超出千分之六,即成功率不低于99.4%

4. 資源性能指標(biāo)

資源性能指標(biāo),常見的可從如下幾類進(jìn)行參考:

  • CPU

  • 內(nèi)存

  • 磁盤吐吞量

  • 網(wǎng)絡(luò)吐吞量

4.1  CPU

定義和解釋:CPU又稱為中央處理器,是一塊超大規(guī)模的集成電路,是一臺(tái)計(jì)算機(jī)的運(yùn)算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。

行業(yè)參考標(biāo)準(zhǔn):

CPU指標(biāo)主要指的CPU利用率,包括用戶態(tài)(user)、系統(tǒng)態(tài)(sys)、等待態(tài)(wait)、空閑態(tài)(idle)。

  • CPU 利用率要低于業(yè)界警戒值范圍之內(nèi),即小于或者等于75%;

  • CPU sys%小于或者等于30%;

  • CPU wait%小于或者等于5%;

4.2  內(nèi)存

定義和解釋:內(nèi)存是計(jì)算機(jī)中重要的部件之一,它是與CPU進(jìn)行溝通的橋梁。計(jì)算機(jī)中所有程序的運(yùn)行都是在內(nèi)存中進(jìn)行的,因此內(nèi)存的性能對計(jì)算機(jī)的影響非常大。

行業(yè)參考標(biāo)準(zhǔn):

現(xiàn)在的操作系統(tǒng)為了最大利用內(nèi)存,在內(nèi)存中存放了緩存,因此內(nèi)存利用率100%并不代表內(nèi)存有瓶頸,衡量系統(tǒng)內(nèi)存是否有瓶頸主要靠SWAP(與虛擬內(nèi)存交換)交換空間利用率,一般情況下,SWAP交換空間利用率要低于70%,太多的交換將會(huì)引起系統(tǒng)性能低下。

4.3  磁盤吐吞量

定義和解釋:磁盤吞吐量簡稱為Disk Throughput,是指在無磁盤故障的情況下單位時(shí)間內(nèi)通過磁盤的數(shù)據(jù)量。

行業(yè)參考標(biāo)準(zhǔn):

磁盤指標(biāo)主要有每秒讀寫多少兆,磁盤繁忙率,磁盤隊(duì)列數(shù),平均服務(wù)時(shí)間,平均等待時(shí)間,空間利用率。其中磁盤繁忙率是直接反映磁盤是否有瓶頸的的重要依據(jù),一般情況下,磁盤繁忙率要低于70%。

4.4  網(wǎng)絡(luò)吐吞量

定義和解釋:網(wǎng)絡(luò)吞吐量簡稱為Network Throughput,是指在無網(wǎng)絡(luò)故障的情況下單位時(shí)間內(nèi)通過的網(wǎng)絡(luò)的數(shù)據(jù)數(shù)量。單位為Byte/s。網(wǎng)絡(luò)吞吐量指標(biāo)用于衡量系統(tǒng)對于網(wǎng)絡(luò)設(shè)備或鏈路傳輸能力的需求。當(dāng)網(wǎng)絡(luò)吞吐量指標(biāo)接近網(wǎng)絡(luò)設(shè)備或鏈路最大傳輸能力時(shí),則需要考慮升級(jí)網(wǎng)絡(luò)設(shè)備。

行業(yè)參考標(biāo)準(zhǔn):

網(wǎng)絡(luò)吞吐量指標(biāo)主要有每秒有多少兆流量進(jìn)出,一般情況下不能超過設(shè)備或鏈路最大傳輸能力的70%。

5. 中間件指標(biāo)

常用的中間件例如Tomcat、Weblogic等指標(biāo)主要包括JVM, ThreadPool, JDBC,具體如下:

一級(jí)指標(biāo)二級(jí)指標(biāo)單位解釋
GCGC頻率每秒多少次java虛擬機(jī)垃圾部分回收頻率
GCFull GC頻率每小時(shí)多少次java虛擬機(jī)垃圾完全回收頻率
GCFull GC平均時(shí)長用于垃圾完全回收的平均時(shí)長
GCFull GC最大時(shí)長用于垃圾完全回收的最大時(shí)長
GC堆使用率百分比堆使用率
ThreadPoolActive Thread Count個(gè)活動(dòng)的線程數(shù)
ThreadPoolPending User Request個(gè)處于排隊(duì)的用戶請求個(gè)數(shù)
JDBCJDBC Active Connection個(gè)JDBC活動(dòng)連接數(shù)

行業(yè)參考標(biāo)準(zhǔn):

  • 當(dāng)前正在運(yùn)行的線程數(shù)不能超過設(shè)定的最大值。一般情況下系統(tǒng)性能較好的情況下,線程數(shù)最小值設(shè)置50和最大值設(shè)置200比較合適。

  • 當(dāng)前運(yùn)行的JDBC連接數(shù)不能超過設(shè)定的最大值。一般情況下系統(tǒng)性能較好的情況下,JDBC最小值設(shè)置50和最大值設(shè)置200比較合適。

  • GC頻率不能頻繁,特別是FULL GC更不能頻繁,一般情況下系統(tǒng)性能較好的情況下,JVM最小堆大小和最大堆大小分別設(shè)置1024M比較合適。

6. 數(shù)據(jù)庫指標(biāo)

常用的數(shù)據(jù)庫例如MySQL指標(biāo)主要包括SQL、吞吐量、緩存命中率、連接數(shù)等,具體如下:

一級(jí)指標(biāo)二級(jí)指標(biāo)單位解釋
SQL耗時(shí)微秒執(zhí)行SQL耗時(shí)
吞吐量QPS個(gè)每秒查詢次數(shù)
吞吐量TPS個(gè)每秒事務(wù)次數(shù)
命中率Key Buffer命中率百分之索引緩沖區(qū)命中率
命中率InnoDB Buffer命中率百分比InnoDB緩沖區(qū)命中率
命中率Query Cache命中率百分比查詢緩存命中率
命中率Table Cache命中率百分比表緩存命中率數(shù)
命中率Thread Cache命中率百分比線程緩存命中率
等待次數(shù)鎖等待次數(shù)
等待時(shí)間微秒鎖等待時(shí)間

行業(yè)參考標(biāo)準(zhǔn):

  • SQL耗時(shí)越小越好,一般情況下微秒級(jí)別。

  • 命中率越高越好,一般情況下不能低于95%。

  • 鎖等待次數(shù)越低越好,等待時(shí)間越短越好。

7. 穩(wěn)定性指標(biāo)

最短穩(wěn)定時(shí)間:系統(tǒng)按照最大容量的80%或標(biāo)準(zhǔn)壓力(系統(tǒng)的預(yù)期日常壓力)情況下運(yùn)行,能夠穩(wěn)定運(yùn)行的最短時(shí)間。

一般來說,對于正常工作日(8小時(shí))運(yùn)行的系統(tǒng),至少應(yīng)該能保證系統(tǒng)穩(wěn)定運(yùn)行8小時(shí)以上。

對于7*24運(yùn)行的系統(tǒng),至少應(yīng)該能夠保證系統(tǒng)穩(wěn)定運(yùn)行24小時(shí)以上。如果系統(tǒng)不能穩(wěn)定的運(yùn)行,上線后,隨著業(yè)務(wù)量的增長和長時(shí)間運(yùn)行,將會(huì)出現(xiàn)性能下降甚至崩潰的風(fēng)險(xiǎn)。

參考標(biāo)準(zhǔn):

  • TPS曲線穩(wěn)定,沒有大幅度的波動(dòng)。

  • 各項(xiàng)資源指標(biāo)沒有泄露或異常情況。

8. 可擴(kuò)展性指標(biāo)

定義和解釋:是指應(yīng)用軟件或操作系統(tǒng)以群集方式部署,增加的硬件資源與增加的處理能力之間的關(guān)系。

計(jì)算公式:(增加性能/原始性能)/(增加資源/原始資源)*100%。

擴(kuò)展能力應(yīng)通過多輪測試獲得擴(kuò)展指標(biāo)的變化趨勢。一般擴(kuò)展能力非常好的應(yīng)用系統(tǒng),擴(kuò)展指標(biāo)應(yīng)是線性或接近線性的,現(xiàn)在很多大規(guī)模的分布式系統(tǒng)的擴(kuò)展能力非常好。

參考標(biāo)準(zhǔn):

理想的擴(kuò)展能力是資源增加幾倍,性能就提升幾倍。擴(kuò)展能力至少在70%以上。

9. 可靠性指標(biāo)

對于服務(wù)端性能測試,從系統(tǒng)可靠性指標(biāo)度量分析時(shí),常見從三類來入手:

  • 雙機(jī)熱備

  • 集群

  • 備份和恢復(fù)

9.1 雙機(jī)熱備

對于將雙機(jī)熱備作為可靠性保障手段的系統(tǒng),可衡量的指標(biāo)如下:

  • 節(jié)點(diǎn)切換是否成功及其消耗時(shí)間。

  • 雙機(jī)切換是否有業(yè)務(wù)中斷。

  • 節(jié)點(diǎn)回切是否成功及其耗時(shí)。

  • 雙機(jī)回切是否有業(yè)務(wù)中斷。

  • 節(jié)點(diǎn)回切過程中的數(shù)據(jù)丟失量在進(jìn)行雙機(jī)切換的同時(shí),使用壓力發(fā)生工具模擬實(shí)際業(yè)務(wù)發(fā)生情況,對應(yīng)用保持一定的性能壓力,保證測試結(jié)果符合生產(chǎn)實(shí)際情況。

9.2 集群

對于使用集群方式的系統(tǒng),主要通過以下方式考量其集群可靠性:

  • 集群中某個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),系統(tǒng)是否有業(yè)務(wù)中斷情況出現(xiàn)

  • 在集群中新增一個(gè)節(jié)點(diǎn)時(shí),是否需要重啟系統(tǒng)

  • 當(dāng)故障節(jié)點(diǎn)恢復(fù)后,加入集群,是否需要重啟系統(tǒng)

  • 當(dāng)故障節(jié)點(diǎn)恢復(fù)后,加入集群,系統(tǒng)是否有業(yè)務(wù)中斷情況出現(xiàn)

  • 節(jié)點(diǎn)切換需要多長時(shí)間在驗(yàn)證集群可靠性的同時(shí),需根據(jù)具體情況使用壓力工具模擬實(shí)際業(yè)務(wù)發(fā)生相關(guān)情況,對應(yīng)用保持一定的性能壓力,確保測試結(jié)果符合生產(chǎn)實(shí)際情況。

9.3 備份和恢復(fù)

本指標(biāo)為了驗(yàn)證系統(tǒng)的備份/恢復(fù)機(jī)制是否有效可靠,包括系統(tǒng)的備份和恢復(fù)、數(shù)據(jù)庫的備份和恢復(fù)、應(yīng)用的備份和恢復(fù),包括以下測試內(nèi)容:

  • 備份是否成功及其消耗時(shí)間。

  • 備份是否使用腳本自動(dòng)化完成。

  • 恢復(fù)是否成功及其消耗時(shí)間。

  • 恢復(fù)是否使用腳本自動(dòng)化完成指標(biāo)體系的運(yùn)用原則。

  • 指標(biāo)項(xiàng)的采用和考察取決于對相應(yīng)系統(tǒng)的測試目的和測試需求。被測系統(tǒng)不一樣,測試目的不一樣,測試需求也不一樣,考察的指標(biāo)項(xiàng)也有很大差別。

  • 部分系統(tǒng)涉及額外的前端用戶接入能力的,需要考察用戶接入并發(fā)能力指標(biāo)。

  • 對于批量處理過程的性能驗(yàn)證,主要考慮批量處理效率并估算批量處理時(shí)間窗口。

  • 如測試目標(biāo)涉及到系統(tǒng)性能容量,測試需求中應(yīng)根據(jù)相關(guān)指標(biāo)項(xiàng)的定義,明確描述性能指標(biāo)需求。

  • 測試指標(biāo)獲取后,需說明相關(guān)的前提條件(如在多少的業(yè)務(wù)量、系統(tǒng)資源情況等)。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多