性能測試概念
想要做性能測試,必須先掌握一些性能測試基本概念,將核心的性能概念整理如下。
- RT -Response time 請求響應(yīng)時間
從客戶端發(fā)出請求到得到響應(yīng)的整個時間
一般包括網(wǎng)絡(luò)響應(yīng)時間+server的響應(yīng)時間。
用戶接受準(zhǔn)則:
例如2-5-10原則,即按照正常用戶體驗,如果用戶能夠在2秒內(nèi)得到響應(yīng),會感覺速度很快,
如果2-5秒得到響應(yīng),用戶感覺系統(tǒng)的響應(yīng)速度還不多,在5-10秒之內(nèi)得到響應(yīng)時,用戶會感覺系統(tǒng)的響應(yīng)速度慢,但是可以接受,超過10秒后還沒有響應(yīng),用戶就會感覺不能夠接受。
不同行業(yè)不同業(yè)務(wù)可接受的響應(yīng)時間是不同的,一般情況,對于在線實時交易:
互聯(lián)網(wǎng)企業(yè):500毫秒以下,例如淘寶業(yè)務(wù)10毫秒左右。
金融企業(yè):1秒以下為佳,部分復(fù)雜業(yè)務(wù)3秒以下。
保險企業(yè):3秒以下為佳。
制造業(yè):5秒以下為佳。
數(shù)據(jù)來源于-阿里云規(guī)范
- TPS- 系統(tǒng)處理能力-吞吐量
系統(tǒng)處理能力是指系統(tǒng)在利用系統(tǒng)硬件平臺和軟件平臺進行信息處理的能力。系統(tǒng)處理能力通過系統(tǒng)每秒鐘能夠處理的交易數(shù)量來評價,交易有兩種理解:
一是業(yè)務(wù)人員角度的一筆業(yè)務(wù)過程;
二是系統(tǒng)角度的一次交易申請和響應(yīng)過程。
前者稱為業(yè)務(wù)交易過程,后者稱為事務(wù)。兩種交易指標(biāo)都可以評價應(yīng)用系統(tǒng)的處理能力。一般的建議與系統(tǒng)交易日志保持一致,以便于統(tǒng)計業(yè)務(wù)量或者交易量。系統(tǒng)處理能力指標(biāo)是技術(shù)測試活動中重要指標(biāo)。
要么完全成功,要么完全失敗
事務(wù):原子性,一致性,隔離性,持久性
1.1.1.簡稱
一般情況下,用以下幾個指標(biāo)來度量:
HPS(Hits Per Second) :每秒點擊次數(shù),單位是次/秒。
QPS(Query per Second):系統(tǒng)每秒處理查詢次數(shù),單位是次/秒。
TPS(Transaction per Second):系統(tǒng)每秒處理事務(wù)數(shù),單位是筆/秒。
下訂單:
生成訂單
減庫存
通知后臺訂單狀態(tài)
對于互聯(lián)網(wǎng)業(yè)務(wù)中,如果某些業(yè)務(wù)有且僅有一個請求連接,那么TPS=QPS=HPS,
一般情況下用TPS來衡量整個業(yè)務(wù)流程,用QPS來衡量接口查詢次數(shù),用HPS來表示對服務(wù)器點擊請求。
每秒鐘處理完的事務(wù)次數(shù),一般TPS是對整個系統(tǒng)來講的。一個應(yīng)用系統(tǒng)1s能完成多少事務(wù)處理,一個事務(wù)在分布式處理中,可能會對應(yīng)多個請求,對于衡量單個接口服務(wù)的處理能力,用QPS比較多。
吞吐量
1.1.2.標(biāo)準(zhǔn)
無論TPS、QPS、HPS,此指標(biāo)是衡量系統(tǒng)處理能力非常重要的指標(biāo),越大越好,根據(jù)經(jīng)驗,一般情況下:
金融行業(yè):1000TPS~9000TPS,不包括互聯(lián)網(wǎng)化的活動
保險行業(yè):100TPS~1000TPS,不包括互聯(lián)網(wǎng)化的活動
制造行業(yè):10TPS~50TPS
互聯(lián)網(wǎng)電子商務(wù):10000TPS~100000TPS,例如天貓5萬TPS
互聯(lián)網(wǎng)中型網(wǎng)站:100TPS~500TPS
互聯(lián)網(wǎng)小型網(wǎng)站: 50TPS~100TPS
- 并發(fā)用戶數(shù)量
常見的錯誤理解:
使用系統(tǒng)的全部用戶數(shù)量(注冊用戶)
使用系統(tǒng)的全部在線用戶數(shù)量
正確理解
并發(fā)用戶數(shù)指在同一時刻內(nèi),打開系統(tǒng)并進行業(yè)務(wù)操作的用戶數(shù)量,并發(fā)用戶數(shù)對于長連接(數(shù)據(jù)庫連接時長連接,web請求時短連接)系統(tǒng)來說最大并發(fā)用戶數(shù)即是系統(tǒng)的并發(fā)接入能力。對于短連接系統(tǒng)而言最大并發(fā)用戶數(shù)并不等于系統(tǒng)的并發(fā)接入能力,而是與系統(tǒng)架構(gòu)、系統(tǒng)處理能力等各種情況相關(guān)
標(biāo)準(zhǔn)
一般情況下,性能測試是將系統(tǒng)處理能力容量測出來,而不是測試并發(fā)用戶數(shù),除了服務(wù)器長連接可能影響并發(fā)用戶數(shù)外,系統(tǒng)處理能力不完全受并發(fā)用戶數(shù)影響,可以用最小的用戶數(shù)將系統(tǒng)處理能力容量測試出來,也可以用更多的用戶將系統(tǒng)處理能力容量測試出來。
- 錯誤率
定義及解釋
錯誤率指系統(tǒng)在負(fù)載情況下,失敗交易的概率。錯誤率=(失敗交易數(shù)/交易總數(shù))*100%。
穩(wěn)定性較好的系統(tǒng),其錯誤率應(yīng)該由超時引起,即為超時率。
連接超時 設(shè)置超時時間10s
響應(yīng)超時 設(shè)置超時時間10s
標(biāo)準(zhǔn)
不同系統(tǒng)對錯誤率的要求不同,但一般不超出千分之六,即成功率不低于99.4%
- CPU
定義及解釋
中央處理器是一塊超大規(guī)模的集成電路,是一臺計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。CPU Load: 系統(tǒng)正在干活的多少的度量,隊列長度。系統(tǒng)平均負(fù)載。
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%。單核CPU也需遵循上述指標(biāo)要求。
- Memory
內(nèi)存是計算機中重要的部件之一,它是與CPU進行溝通的橋梁。
計算機中所有程序的運行都是在內(nèi)存中進行的,因此內(nèi)存的性能對計算機的影響非常大。
現(xiàn)代的操作系統(tǒng)為了最大利用內(nèi)存,在內(nèi)存中存放了緩存,因此內(nèi)存利用率100%并不代表內(nèi)存有瓶頸,
衡量系統(tǒng)內(nèi)有有瓶頸主要靠SWAP(與虛擬內(nèi)存交換)交換空間利用率,一般情況下,
SWAP交換空間利用率要低于70%,太多的交換將會引起系統(tǒng)性能低下。
Swap解釋:
當(dāng)物理內(nèi)存接近崩潰時,將物理內(nèi)存中最近一段時間最少頻率使用到的頁框移出物理內(nèi)存,
放進該存儲空間,這段存儲空間我們稱之為交換空間(Swap)
- 磁盤吞吐量 Disk Throughput
磁盤吞吐量是指在無磁盤故障的情況下單位時間內(nèi)通過磁盤的數(shù)據(jù)量。
磁盤指標(biāo)主要有每秒讀寫多少兆,磁盤繁忙率,磁盤隊列數(shù),
平均服務(wù)時間,平均等待時間,空間利用率。
其中磁盤繁忙率是直接反映磁盤是否有瓶頸的的重要依據(jù),一般情況下,磁盤繁忙率要低于70%。
- 網(wǎng)絡(luò)吞吐量 Network Throughput
網(wǎng)絡(luò)吞吐量是指在無網(wǎng)絡(luò)故障的情況下單位時間內(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è)備或鏈路最大傳輸能力時,則需要考慮升級網(wǎng)絡(luò)設(shè)備。
網(wǎng)絡(luò)吞吐量指標(biāo)主要有每秒有多少兆流量進出,一般情況下不能超過設(shè)備或鏈路最大傳輸能力的70%。