服務(wù)器壓力測試概念及方法(TPS/并發(fā)量)
1 壓力測試中的指標(biāo)
1.1 TPS
TPS 即Transactions Per Second的縮寫,每秒處理的事務(wù)數(shù)目。一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服務(wù)器發(fā)送請求然后服務(wù)器做出反應(yīng)的過程**(完整處理,即客戶端發(fā)起請求到得到響應(yīng))**。客戶機(jī)在發(fā)送請求時(shí)開始計(jì)時(shí),收到服務(wù)器響應(yīng)后結(jié)束計(jì)時(shí),以此來計(jì)算使用的時(shí)間和完成的事務(wù)個(gè)數(shù),最終利用這些信息作出的評(píng)估分。一個(gè)事務(wù)可能對應(yīng)多個(gè)請求,可以參考下數(shù)據(jù)庫的事務(wù)操作。
1.2 QPS
QPS 即Queries Per Second的縮寫,每秒能處理查詢數(shù)目(完整處理,即客戶端發(fā)起請求到得到響應(yīng))。是一臺(tái)服務(wù)器每秒能夠相應(yīng)的查詢次數(shù),是對一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn)。
我們從它的英文全名可以得出它是查詢意思,原來在因特網(wǎng)上,作為域名系統(tǒng)服務(wù)器的機(jī)器的性能經(jīng)常用每秒查詢率來衡量。對應(yīng)fetches/sec,即每秒的響應(yīng)請求數(shù)。 雖然名義上是查詢的意思,但實(shí)際上,現(xiàn)在習(xí)慣于對單一接口服務(wù)的處理能力用QPS進(jìn)行表述(即使它并不是查詢操作)。
1.3 平均處理時(shí)間(RT)
RT:響應(yīng)時(shí)間,處理一次請求所需要的平均處理時(shí)間。
我們一般還會(huì)關(guān)注90%請求的的平均處理時(shí)間,因?yàn)榭赡芤蚓W(wǎng)絡(luò)情況出現(xiàn)極端情況。
1.4 并發(fā)用戶數(shù)(并發(fā)量)
每秒對待測試接口發(fā)起請求的用戶數(shù)量。
1.5 換算關(guān)系
QPS = 并發(fā)數(shù)/平均響應(yīng)時(shí)間
并發(fā)量 = QPS * 平均響應(yīng)時(shí)間
比如3000個(gè)用戶(并發(fā)量)同時(shí)訪問待測試接口,在用戶端統(tǒng)計(jì),3000個(gè)用戶平均得到響應(yīng)的時(shí)間為1188.538ms。所以QPS=3000/1.188538s= 2524.11 q/s。
我們就可以這樣描述本次測試,在3000個(gè)并發(fā)量的情況下,QPS為2524.11,平均響應(yīng)事件為1188.538ms
1.6 TPS和QPS的區(qū)別
這個(gè)問題開始,我認(rèn)為這兩者應(yīng)該是同一個(gè)東西,但在知乎上看到他們的英文名,現(xiàn)在我認(rèn)為:
QPS 每秒能處理查詢數(shù)目,但現(xiàn)在一般也用于單服務(wù)接口每秒能處理請求數(shù)。
TPS 每秒處理的事務(wù)數(shù)目,如果完成該事務(wù)僅為單個(gè)服務(wù)接口,我們也可以認(rèn)為它就是QPS。
PS:還有一個(gè)RPS的的概念 request per second 。每秒請求數(shù),在一定條件下和QPS 和TPS類似。
2 壓力測試方法
我們可以使用壓測工具模擬多用戶對系統(tǒng)進(jìn)行壓力測試。后面會(huì)有壓測工具的介紹
而測試的方式是,以一定請求總量,保持不變,逐步增加并發(fā)量,觀察QPS的變化及平均響應(yīng)時(shí)間的變化。
比如10000的總請求數(shù),然后測試100的并發(fā)量情況下的QPS值,然后200, 300, 400, 500等。
一個(gè)系統(tǒng)吞吐量通常由TPS、并發(fā)數(shù)兩個(gè)因素決定,每套系統(tǒng)這兩個(gè)值都有一個(gè)相對極限值,在應(yīng)用場景訪問壓力下,只要某一項(xiàng)達(dá) 到系統(tǒng)最高值,系統(tǒng)的吞吐量就上不去了,如果壓力繼續(xù)增大,系統(tǒng)的吞吐量反而會(huì)下降,原因是系統(tǒng)超負(fù)荷工作,上下文切換、內(nèi)存等等其它消耗導(dǎo)致系統(tǒng)性能下降。這里給出一份使用ab工具的壓測圖。
從圖中可以看出2000的并發(fā)量時(shí),QPS已經(jīng)達(dá)到2500左右,后續(xù)加大并發(fā)數(shù)仍維持在2500,說明該接口在該配置下,QPS為2500,即每秒該系統(tǒng)的能力只能處理2500個(gè)請求左右,后面加大的并發(fā)量,只會(huì)導(dǎo)致平均響應(yīng)時(shí)間的增加。(PS:因?yàn)槊棵胫荒芴幚?500個(gè)請求,而一次性有7000的并發(fā),自然會(huì)造成請求堆積,導(dǎo)致平均響應(yīng)時(shí)間會(huì)變長)我們看到超過14000之后連QPS也開始急劇下降,說明系統(tǒng)超負(fù)荷工作,導(dǎo)致性能開始急劇下降。而一般情況下,我們認(rèn)為平均響應(yīng)時(shí)間達(dá)到一定值,就已經(jīng)不可以接受了。
3 相關(guān)文檔
估計(jì)物聯(lián)網(wǎng)設(shè)備并發(fā)量整理的blog:
https://www.jb51.net/article/231516.htm
壓力測試工具ab工具:
https://www.jb51.net/article/231502.htm
Node express框架壓測結(jié)果:
https://www.jb51.net/article/231512.htm
到此這篇關(guān)于服務(wù)器壓力測試概念及方法(TPS/并發(fā)量)的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。