一般的來講,被測試系統(tǒng)的性能為:通道個數(shù)*單個通道的TPS=總tps。
Tps,就是一秒可以處理的事務(wù)個數(shù)。
當(dāng)我們使用很少的虛擬用戶(VU)數(shù)給系統(tǒng)加壓,如果VU的個數(shù)比通道個數(shù)小,那么就無法知道總的tps的個數(shù)。因為很多通道是空閑的。
比如,我們使用50UV來給系統(tǒng)加壓,thinktime=0,就是不同的發(fā)起請求,一個接一個來加壓。如果被測試系統(tǒng)(簡稱AUT,application under testing)的單個事務(wù)響應(yīng)時間是0.5秒,那么如果通道的個數(shù)超過50uv,那么此時TPS=50/0.5=100.
當(dāng)UV的個數(shù)超過了通道個數(shù),就會產(chǎn)生等待處理隊列,這樣我們讓然能夠使用少量的VU來產(chǎn)生大量的壓力。
但是,實際上,被測試系統(tǒng)的操作,往往是存在時間間隔的,這樣不停的發(fā)送,即:thinktime=0的情況,對于實際的模擬,有時候并不理想。特別是當(dāng)響應(yīng)時間變長之后。
因此,我們就會讓thinktime大于0.具體的做法是兩種:
1,在每次請求事務(wù)完成之后,增加一個固定的thinktime時間,來等待。
2,把每次事務(wù)設(shè)定一個固定的時間,我們也叫做“步長”。比如,我們設(shè)置步長為1秒。當(dāng)處理時間是0.3秒,那么thinktime=0.7秒。當(dāng)處理時間上升到0.6秒,那么thinktime時間變成0.4秒。
使用步長,顯然是更合理的能夠模擬客戶更真實的行為。當(dāng)然,真實客戶的操作時間間隔往往很長,在性能測試過程中,也不會真的設(shè)置太長時間來模擬,一半都會縮短時間。
推薦閱讀:
本文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。