性能測(cè)試場(chǎng)景設(shè)計(jì)深度解析_第1頁(yè)
性能測(cè)試場(chǎng)景設(shè)計(jì)深度解析_第2頁(yè)
性能測(cè)試場(chǎng)景設(shè)計(jì)深度解析_第3頁(yè)
性能測(cè)試場(chǎng)景設(shè)計(jì)深度解析_第4頁(yè)
性能測(cè)試場(chǎng)景設(shè)計(jì)深度解析_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、性能測(cè)試場(chǎng)景設(shè)計(jì)深度解析作者:張?jiān)蕬c,現(xiàn)就職于易寶付有限公司,任職級(jí)性能測(cè)試程師,有多年的系統(tǒng)性能測(cè)試設(shè)計(jì)與優(yōu)化經(jīng)驗(yàn),經(jīng)歷過(guò)上百個(gè)項(xiàng)的性能優(yōu)化,對(duì)性能測(cè)試有著較為深的研究。2008年底獲得北京學(xué)理學(xué)學(xué)學(xué)位,前進(jìn)對(duì)外經(jīng)濟(jì)貿(mào)易學(xué)在職研究班進(jìn)深造,專(zhuān)業(yè)向是數(shù)據(jù)分析及應(yīng)。對(duì)性能測(cè)試相關(guān)話(huà)題感興趣的讀者可以和作者進(jìn)交流,電郵箱地址:。責(zé)編:陳秋歌,尋求報(bào)道或者投稿請(qǐng)發(fā)郵件chenqg#,或加微信:Rachel_qg。了解更多前沿技術(shù)資訊,獲取深度技術(shù)章推薦,請(qǐng)關(guān)注。說(shuō)在前提到性能測(cè)試,家想到的就是使具對(duì)應(yīng)進(jìn)加壓,看看應(yīng)能承受多少并發(fā),TPS(Transactions Per Second)是多少,交易響

2、應(yīng)時(shí)間是否在接收的范圍內(nèi)。不錯(cuò),這些都是家最關(guān)的應(yīng)的性能指標(biāo),也是每個(gè)性能測(cè)試項(xiàng)輸出的結(jié)果。然,要實(shí)現(xiàn)這樣的效果卻并不是件簡(jiǎn)單的事情,因?yàn)樾阅軠y(cè)試是個(gè)分復(fù)雜的系統(tǒng)程,對(duì)測(cè)試員的能平提出了更的要求,需要性能測(cè)試員具備常全的知識(shí)與技能,能夠定位應(yīng)的性能瓶頸,并提出適當(dāng)?shù)膬?yōu)化案。通常,要對(duì)個(gè)應(yīng)進(jìn)性能測(cè)試需要經(jīng)歷需求調(diào)研、環(huán)境準(zhǔn)備、腳本開(kāi)發(fā)、數(shù)據(jù)預(yù)埋、場(chǎng)景設(shè)計(jì)、場(chǎng)景執(zhí)、應(yīng)監(jiān)控分析、瓶頸定位、瓶頸修復(fù)、回歸測(cè)試、結(jié)果整理、輸出報(bào)告等多個(gè)環(huán)節(jié)。今天我們先談?wù)勑阅軠y(cè)試中的場(chǎng)景設(shè)計(jì)。性能測(cè)試的場(chǎng)景設(shè)計(jì)性能測(cè)試的場(chǎng)景如何定義?我們可以理解為功能測(cè)試中的例,即性能測(cè)試的場(chǎng)景就是性能測(cè)試的例。性能測(cè)試的場(chǎng)景是為了要

3、實(shí)現(xiàn)特定的測(cè)試標(biāo)對(duì)應(yīng)執(zhí)的壓測(cè)活動(dòng)。性能測(cè)試場(chǎng)景的設(shè)計(jì)與執(zhí)是整個(gè)性能測(cè)試活動(dòng)的核與靈魂,沒(méi)有完整的場(chǎng)景設(shè)計(jì)就法達(dá)到我們的測(cè)試的,沒(méi)有合理的場(chǎng)景設(shè)計(jì)就不會(huì)發(fā)現(xiàn)系統(tǒng)的性能缺陷。我們所開(kāi)發(fā)的測(cè)試腳本,所預(yù)埋的測(cè)試數(shù)據(jù)都是為了實(shí)現(xiàn)特定場(chǎng)景所準(zhǔn)備的。個(gè)性能測(cè)試場(chǎng)景包含諸多要素,圖1中列出了些必備的要素,其中測(cè)試模型作為測(cè)試場(chǎng)景的基礎(chǔ)與輸。圖1 性能測(cè)試場(chǎng)景的組成要素下對(duì)每個(gè)要素做個(gè)簡(jiǎn)單的說(shuō)明。測(cè)試模型與測(cè)試指標(biāo)在進(jìn)場(chǎng)景設(shè)計(jì)之前我們應(yīng)該先確定了本次性能測(cè)試的測(cè)試指標(biāo)與測(cè)試模型。測(cè)試指標(biāo)和測(cè)試模型是進(jìn)場(chǎng)景設(shè)計(jì)的前提和基礎(chǔ),是場(chǎng)景的輸。根據(jù)被測(cè)系統(tǒng)的類(lèi)型不同,可能測(cè)試指標(biāo)的類(lèi)型略有不同。對(duì)于在線(xiàn)Web類(lèi)的應(yīng),測(cè)

4、試指標(biāo)般包括在線(xiàn)戶(hù)數(shù)、最優(yōu)并發(fā)戶(hù)數(shù)、最并發(fā)戶(hù)數(shù)、交易平均響應(yīng)時(shí)間、標(biāo)TPS等等。對(duì)于接調(diào)類(lèi)的應(yīng)測(cè)試指標(biāo)般包括標(biāo)TPS、平均響應(yīng)時(shí)間等。測(cè)試模型就是被測(cè)試系統(tǒng)的各交易在線(xiàn)運(yùn)時(shí)承受的交易數(shù)量(或請(qǐng)求數(shù)量)的例不是并發(fā)戶(hù)的例。為什么不是并發(fā)戶(hù)的例呢?因?yàn)閷?shí)際的戶(hù)的操作具有不確定性,使測(cè)試具很難模擬真實(shí)戶(hù)的為。另外,在進(jìn)運(yùn)營(yíng)數(shù)據(jù)分析時(shí)很難獲取戶(hù)的操作為,應(yīng)的交易記錄卻很容易通過(guò)查詢(xún)的式獲取。應(yīng)實(shí)際承受的壓是戶(hù)的實(shí)際操作請(qǐng)求,在線(xiàn)戶(hù)如果沒(méi)有進(jìn)實(shí)際操作那么他最多將消耗個(gè)連接線(xiàn)程,應(yīng)CPU并不會(huì)有什么資源消耗。100個(gè)戶(hù)平均每個(gè)花費(fèi)10秒下個(gè)訂單和10個(gè)戶(hù)每1秒鐘下個(gè)訂單對(duì)應(yīng)帶來(lái)的壓是樣的。所以,在場(chǎng)景中能

5、最少的并發(fā)戶(hù)來(lái)模擬真實(shí)的請(qǐng)求是最經(jīng)濟(jì)的選擇式。那么,測(cè)試模型到底該如何確定呢?通過(guò)需求調(diào)研獲得。下介紹的兩點(diǎn)是我們常的調(diào)研式:對(duì)于還未上線(xiàn)運(yùn)營(yíng)的新系統(tǒng),我們般會(huì)讓?xiě)?yīng)的產(chǎn)品經(jīng)理或負(fù)責(zé)給出個(gè)預(yù)估的例;但是這個(gè)預(yù)估需要我們進(jìn)評(píng)估,不是隨意的。對(duì)于個(gè)以提供下單交易為主的應(yīng),通常下單交易是占整個(gè)模型的較例,如果需求提出的模型是查詢(xún)例較,那么我們就有理由懷疑該模型的合理性。對(duì)于這種情況,我們建議選擇個(gè)常見(jiàn)的典型的模型來(lái)配合需求模型進(jìn)場(chǎng)景設(shè)計(jì)。對(duì)于已上線(xiàn)運(yùn)營(yíng)的應(yīng),我們般會(huì)分析實(shí)際的交易數(shù)據(jù)來(lái)確定交易例,這樣會(huì)更加精準(zhǔn)。例如個(gè)應(yīng)對(duì)戶(hù)提供下單、查詢(xún)、退款三個(gè)交易,我們通過(guò)DBA在線(xiàn)查詢(xún)某的交易數(shù)據(jù)總量為2000

6、00筆,其中交易下單160000筆、查詢(xún)38000筆,退款2000筆,由此我們算出各交易的例是80%、19%、1%,那么這個(gè)例就是我們的測(cè)試模型。被測(cè)交易或使的腳本測(cè)試腳本是測(cè)試場(chǎng)景的基礎(chǔ),腳本包括對(duì)應(yīng)的測(cè)試數(shù)據(jù),例如登錄所需要的戶(hù)名與密碼、下單交易可能需要的銀卡號(hào)等等??紤]到性能測(cè)試是多戶(hù)并發(fā)的測(cè)試,所以需要提前準(zhǔn)備相應(yīng)的測(cè)試數(shù)據(jù),例如個(gè)場(chǎng)景要對(duì)個(gè)含登錄操作的交易進(jìn)壓測(cè),那么我們?cè)趫?chǎng)景設(shè)計(jì)時(shí)就要考慮可的戶(hù)名與密碼數(shù)量;如,要對(duì)退款交易做測(cè)試,那么就需要提前準(zhǔn)備好可以退款的數(shù)據(jù),這就需要提前做好數(shù)據(jù)預(yù)埋準(zhǔn)備。般情況下,為了便我們統(tǒng)計(jì)TPS,建議個(gè)腳本只包含個(gè)完整的交易,不要把多個(gè)交易放到個(gè)腳本

7、中。因?yàn)?,不同的交易其響?yīng)時(shí)間會(huì)不同,響應(yīng)時(shí)間較長(zhǎng)的交易會(huì)成為“瓶頸”。另外,我們?cè)O(shè)計(jì)測(cè)試場(chǎng)景時(shí)需要考慮不同交易的占,如果多個(gè)交易存在同個(gè)腳本,場(chǎng)景的設(shè)計(jì)就法實(shí)現(xiàn)。上提到的“被測(cè)交易”是我們壓測(cè)的對(duì)象,也是應(yīng)的。當(dāng)然,并不是被測(cè)應(yīng)的每個(gè)交易都需要進(jìn)壓測(cè),這要視具體情況定。如果被測(cè)應(yīng)提供的交易常多,我們可以考慮只選取占較的交易進(jìn)壓測(cè),占較低的交易可以忽略。并發(fā)戶(hù)數(shù)量或并發(fā)線(xiàn)程數(shù)量并發(fā)戶(hù)和并發(fā)線(xiàn)程其實(shí)是同個(gè)概念,只是在不同的性能測(cè)試具中其叫法不同已。在下中我們統(tǒng)稱(chēng)“并發(fā)戶(hù)”。當(dāng)然,這些戶(hù)是虛擬戶(hù),是壓測(cè)試具使進(jìn)程或線(xiàn)程來(lái)模擬真實(shí)戶(hù)請(qǐng)求的種式。并發(fā)戶(hù)是每個(gè)場(chǎng)景提供不同壓的直接來(lái)源,場(chǎng)景不同其需要的并

8、發(fā)戶(hù)數(shù)量可能會(huì)不同。那么是什么因素決定個(gè)場(chǎng)景要并發(fā)戶(hù)的多少呢?主要是被測(cè)交易的響應(yīng)時(shí)間和場(chǎng)景的標(biāo)TPS。交易響應(yīng)時(shí)間的快慢是決定并發(fā)戶(hù)數(shù)量的主要因素,例如個(gè)應(yīng)的某個(gè)交易響應(yīng)時(shí)間是50ms,如果要實(shí)現(xiàn)100TPS的標(biāo),那么只需5個(gè)并發(fā)戶(hù)即可達(dá)到(標(biāo)TPS*交易平均響應(yīng)時(shí)間=并發(fā)戶(hù)量)。如果響應(yīng)時(shí)間是100ms,那么實(shí)現(xiàn)同樣的TPS需要的并發(fā)戶(hù)就會(huì)多倍。加壓策略加壓策略就是并發(fā)戶(hù)以什么樣的“步調(diào)”開(kāi)始對(duì)應(yīng)發(fā)起請(qǐng)求。常的并發(fā)策略有同時(shí)加載、指定間隔時(shí)間的加載,梯度加載等式。加壓策略的不同主要是模擬產(chǎn)環(huán)境不同的情況,下分別做簡(jiǎn)單介紹。同時(shí)加載式是指所有并發(fā)戶(hù)在場(chǎng)景啟動(dòng)時(shí)同時(shí)發(fā)起交易請(qǐng)求不包含任何等待,

9、這樣會(huì)對(duì)被測(cè)應(yīng)帶來(lái)突然的壓,于考察應(yīng)在突然加壓下的表現(xiàn)是否符合預(yù)期。般有戶(hù)突增的業(yè)務(wù)特點(diǎn)的應(yīng)會(huì)設(shè)計(jì)這樣的場(chǎng)景,例如,某些搶購(gòu)系統(tǒng)、鐵路售票系統(tǒng)的按時(shí)放票功能等。當(dāng)然,對(duì)于那些并發(fā)戶(hù)較少的場(chǎng)景也可以采這種戶(hù)加載式。對(duì)于有些應(yīng)如果同時(shí)加載量的并發(fā)戶(hù)可能會(huì)出現(xiàn)異?;虺瑫r(shí),導(dǎo)致部分并發(fā)戶(hù)失敗。指定間隔時(shí)間的加載式是我們最常的,這是為了模擬產(chǎn)的實(shí)際情況,般產(chǎn)系統(tǒng)接收戶(hù)請(qǐng)求都是逐漸增加的,到當(dāng)交易的峰時(shí)段達(dá)到最。在場(chǎng)景設(shè)計(jì)時(shí),根據(jù)并發(fā)戶(hù)的多少可以設(shè)置適當(dāng)?shù)脑黾宇l率,般是“多長(zhǎng)時(shí)間增加多少戶(hù)”。例如,每秒鐘增加個(gè)戶(hù)、每?jī)擅朐黾?個(gè)戶(hù)等等。梯度加壓策略也是我們常的種戶(hù)加載式,但是這種式嚴(yán)格來(lái)說(shuō)應(yīng)該是種梯度加壓

10、場(chǎng)景。該場(chǎng)景般是預(yù)先設(shè)置個(gè)并發(fā)戶(hù)的梯度,每個(gè)梯度執(zhí)分鐘,這樣就可以通過(guò)個(gè)場(chǎng)景的執(zhí)基本上找到應(yīng)的最TPS。在下場(chǎng)景類(lèi)型中,我們會(huì)詳細(xì)介紹這種場(chǎng)景。運(yùn)時(shí)間每個(gè)類(lèi)型的場(chǎng)景其執(zhí)時(shí)間是不同的。表1為家提供個(gè)參考值。運(yùn)時(shí)間是不包含戶(hù)的加載時(shí)間和退出時(shí)間的,即全部戶(hù)都在執(zhí)的這段時(shí)間。表1 各種典型場(chǎng)景運(yùn)時(shí)間設(shè)置延時(shí)式延時(shí)是上筆請(qǐng)求完成到下筆請(qǐng)求發(fā)起之間的時(shí)間間隔。延時(shí)在場(chǎng)景中的作就是為了精準(zhǔn)控制TPS,或者降低當(dāng)前并發(fā)戶(hù)數(shù)量下的壓。精準(zhǔn)控制TPS的的就是考察應(yīng)在特定壓下是否存在性能問(wèn)題。在某些性能測(cè)試具中提供了三種延時(shí)設(shè)置式:第種是上次請(qǐng)求完成后即發(fā)起下次請(qǐng)求,也就是延時(shí)為0。第種是上次請(qǐng)求完成后間隔指定的

11、時(shí)間后再發(fā)起下次請(qǐng)求。第三種是在指定時(shí)間內(nèi)完成次請(qǐng)求,即區(qū)間型的延時(shí),這要求我們?cè)O(shè)置的這個(gè)時(shí)間要于交易的響應(yīng)時(shí)間,也就是說(shuō)要保證交易響應(yīng)時(shí)間在我設(shè)置的這個(gè)時(shí)間的區(qū)間內(nèi),否則就不能實(shí)現(xiàn)精準(zhǔn)控制TPS的標(biāo)。在這個(gè)區(qū)間內(nèi),交易響應(yīng)時(shí)間論如何變化,只要不突破我的這個(gè)最區(qū)間,那么TPS就是平穩(wěn)的。在實(shí)際的場(chǎng)景設(shè)置中,為了實(shí)現(xiàn)精準(zhǔn)的TPS控制標(biāo),我們選第三種設(shè)置式。通過(guò)不斷地嘗試與調(diào)整,最終能夠達(dá)到標(biāo)TPS。戶(hù)終式和戶(hù)加載式對(duì)應(yīng),戶(hù)終式是場(chǎng)景執(zhí)完成后的戶(hù)退出式。般使的是“同時(shí)退出”和“每隔多少時(shí)間退出個(gè)戶(hù)”這種式。這我們重點(diǎn)介紹下“同時(shí)退出”這種式。應(yīng)在持續(xù)段時(shí)間的壓后如果突然壓全部釋放了,那么這時(shí)的應(yīng)在

12、理想情況下應(yīng)該是怎樣的?CPU資源應(yīng)該從繁忙即變?yōu)榭臻e,絡(luò)傳輸也幅降低,磁盤(pán)IO降為0等等。不然,那就是有某種問(wèn)題的存在了。這時(shí)候就需要分析導(dǎo)致資源不能釋放的原因。各種資源的監(jiān)控式資源的監(jiān)控式也是我們場(chǎng)景設(shè)計(jì)時(shí)必須考慮的個(gè)必要因素,在場(chǎng)景設(shè)計(jì)時(shí)就應(yīng)該確定每個(gè)場(chǎng)景的資源監(jiān)控策略。這些策略包括監(jiān)控的對(duì)象、使的監(jiān)控具或法、監(jiān)控?cái)?shù)據(jù)采集頻率等。監(jiān)控對(duì)象般是測(cè)試環(huán)境中所有操作系統(tǒng)資源使(CPU、內(nèi)存、磁盤(pán)IO、絡(luò)吞吐等)、數(shù)據(jù)庫(kù)(TOP SQL、數(shù)據(jù)庫(kù)鎖等待與死鎖、緩沖區(qū)命中率等)、JVM的運(yùn)情況(堆內(nèi)存垃圾回收、線(xiàn)程狀態(tài)、數(shù)據(jù)庫(kù)連接池使情況等)等。監(jiān)控?cái)?shù)據(jù)采集頻率也會(huì)因場(chǎng)景執(zhí)的時(shí)間長(zhǎng)度不同進(jìn)適當(dāng)調(diào)整,

13、例如混合容量場(chǎng)景如果執(zhí)30分鐘,那么采集頻率可以為每5秒鐘采集次,共采集360次。但是,考慮到監(jiān)控要提前啟動(dòng),所以采集次數(shù)可以適當(dāng)增加些,這樣可以確保整個(gè)監(jiān)控區(qū)間于場(chǎng)景執(zhí)區(qū)間,也就同時(shí)監(jiān)控到了資源使在壓發(fā)起前后的變化情況。對(duì)于執(zhí)時(shí)間較長(zhǎng)的場(chǎng)景,我們就要適當(dāng)調(diào)整采集間隔和采集次數(shù),例如對(duì)于個(gè)執(zhí)12時(shí)的穩(wěn)定性場(chǎng)景,我們可以每50秒采集次,共采集1000次。常見(jiàn)的場(chǎng)景類(lèi)型單交易基準(zhǔn)般使個(gè)戶(hù)或個(gè)線(xiàn)程,延時(shí)設(shè)置為0,對(duì)個(gè)交易持續(xù)運(yùn)10分鐘以上。該場(chǎng)景的主要的是獲取單個(gè)交易在壓的情況下的基準(zhǔn)響應(yīng)時(shí)間及環(huán)境資源使情況,作為其他場(chǎng)景的參考依據(jù)。單交易負(fù)載單交易負(fù)載的場(chǎng)景是為了找到單個(gè)交易的最優(yōu)TPS,檢測(cè)單交

14、易在并發(fā)情況下是否存在性能瓶頸。這個(gè)最優(yōu)是以什么為衡量標(biāo)準(zhǔn)呢?通常以應(yīng)或數(shù)據(jù)庫(kù)等系統(tǒng)的CPU使率不于70%為標(biāo)準(zhǔn)。為什么是70%?不能更了嗎?通常在產(chǎn)上運(yùn)的應(yīng),如果CPU使率長(zhǎng)期處于平那是常嚴(yán)重的問(wèn)題,應(yīng)的節(jié)點(diǎn)隨時(shí)都可能掛掉。對(duì)于產(chǎn)環(huán)境各種資源的使情況,通常運(yùn)維部門(mén)都會(huì)有實(shí)時(shí)的監(jiān)控,般當(dāng)摸個(gè)節(jié)點(diǎn)的CPU使率超過(guò)50%時(shí)就會(huì)觸發(fā)報(bào)警,如果長(zhǎng)時(shí)間處于負(fù)載狀態(tài),那么說(shuō)明應(yīng)節(jié)點(diǎn)可資源不,就應(yīng)該考慮進(jìn)節(jié)點(diǎn)擴(kuò)充了。當(dāng)然,也并不是什么情況下都需要找到單交易的最優(yōu)TPS,這要分情況來(lái)對(duì)待。對(duì)于被測(cè)應(yīng)提供的交易較少的話(huà),可以通過(guò)不斷測(cè)試找到每個(gè)交易的最優(yōu)TPS。但是,有的應(yīng)提供的交易較多,這時(shí)如果每個(gè)交易的最優(yōu)

15、TPS都要找到,那就會(huì)需要較多的時(shí)間來(lái)進(jìn)測(cè)試。單交易負(fù)載的場(chǎng)景具體該如何設(shè)計(jì)與執(zhí)呢?如果你想找出每個(gè)交易的最優(yōu)TPS,可以從5個(gè)并發(fā)戶(hù)開(kāi)始,執(zhí)分鐘后再增加5個(gè)戶(hù),直到應(yīng)CPU使率超過(guò)70%為。場(chǎng)景的延時(shí)設(shè)置為0,場(chǎng)景執(zhí)前需開(kāi)啟相關(guān)監(jiān)控。該場(chǎng)景于獲取單交易在并發(fā)情況下的響應(yīng)時(shí)間與TPS,發(fā)現(xiàn)交易本是否存在并發(fā)問(wèn)題,應(yīng)是否會(huì)出現(xiàn)錯(cuò)誤和異常,響應(yīng)時(shí)間相對(duì)單交易基準(zhǔn)是否有明顯的提,資源使率是否在合理的承受范圍之內(nèi)等等。如果應(yīng)存在性能缺陷該場(chǎng)景即可發(fā)現(xiàn)。當(dāng)然,如果你不想測(cè)試出每個(gè)交易的最優(yōu)TPS,那么單獨(dú)對(duì)每個(gè)交易做次5個(gè)并發(fā)的負(fù)載測(cè)試即可。多交易混合負(fù)載多交易混合負(fù)載的的是為了找到應(yīng)的最優(yōu)TPS,即應(yīng)

16、CPU資源消耗在70%左右時(shí)的TPS(此時(shí)需確保數(shù)據(jù)庫(kù)等其他被調(diào)資源不成為瓶頸)。按照測(cè)試模型中的交易例及標(biāo)TPS,對(duì)每個(gè)交易分配不同的并發(fā)戶(hù)數(shù)量,設(shè)置不同的延時(shí),同時(shí)進(jìn)加壓,通過(guò)多個(gè)場(chǎng)景的不斷嘗試最終測(cè)試出應(yīng)能夠達(dá)到的最優(yōu)TPS。這個(gè)場(chǎng)景較復(fù)雜,般需要經(jīng)過(guò)多次的測(cè)試與調(diào)整才能到達(dá)測(cè)試模型的例要求。經(jīng)過(guò)單交易負(fù)載測(cè)試之后我們已經(jīng)獲取了每個(gè)交易的平均響應(yīng)時(shí)間,那么由此值我們便可以設(shè)置我們的混合負(fù)載場(chǎng)景。假設(shè),我們應(yīng)的測(cè)試指標(biāo)TPS為100,單交易負(fù)載測(cè)試獲取的各交易響應(yīng)時(shí)間如下:下單0.4秒,查詢(xún)0.2秒,退款0.5秒,那么要達(dá)到100TPS的壓,該如何設(shè)置場(chǎng)景?計(jì)算每個(gè)交易的TPS下單TPS=

17、100*80%=80,查詢(xún)TPS=100*19%=19,退款TPS=100*1%=1確定每個(gè)交易的并發(fā)戶(hù)標(biāo)TPS、響應(yīng)時(shí)間、并發(fā)戶(hù)之間有這樣個(gè)關(guān)系:標(biāo)TPS=并發(fā)戶(hù)/響應(yīng)時(shí)間如果個(gè)交易響應(yīng)時(shí)間是0.2秒,那個(gè)戶(hù)時(shí)的TPS就是1/0.2=5。在咱們這個(gè)實(shí)例中每個(gè)交易的并發(fā)戶(hù)計(jì)算如下:下單交易并發(fā)戶(hù)數(shù)量=80*0.4=32查詢(xún)交易并發(fā)戶(hù)數(shù)量=19*0.2=3.8退款交易并發(fā)戶(hù)數(shù)量=1*0.5=0.5家看到了,這出現(xiàn)了整數(shù)的情況,怎么辦?對(duì)于這種情況我們要進(jìn)整數(shù)化處理。即我們般取于并最接近當(dāng)前數(shù)的整數(shù),3.8我們按4,0.5我們按1。整數(shù)化后對(duì)應(yīng)的響應(yīng)時(shí)間也應(yīng)該發(fā)變化,否則就法實(shí)現(xiàn)標(biāo)TPS。整數(shù)化再

18、次計(jì)算實(shí)際的響應(yīng)時(shí)間:查詢(xún)交易調(diào)整后的響應(yīng)時(shí)間=4/19=0.21退款交易調(diào)整后的響應(yīng)時(shí)間=1/1=1于是場(chǎng)景設(shè)置如下,下單交易并發(fā)戶(hù)32個(gè)延時(shí)設(shè)置為0秒,查詢(xún)交易并發(fā)戶(hù)4個(gè)延時(shí)設(shè)置0.01秒,退款交易并發(fā)戶(hù)1個(gè)延時(shí)設(shè)置0.5秒,場(chǎng)景運(yùn)時(shí)間10分鐘以上。但是這個(gè)場(chǎng)景運(yùn)結(jié)果可能并不會(huì)完全符合我們的預(yù)期,因?yàn)椴l(fā)戶(hù)相單交易負(fù)載場(chǎng)景已經(jīng)增加了很多,交易的響應(yīng)時(shí)間很可能會(huì)出現(xiàn)明顯的延長(zhǎng)。如下單交易的實(shí)際響應(yīng)時(shí)間可能會(huì)延長(zhǎng)到0.6秒,那么實(shí)際的TPS將明顯下降。如果出現(xiàn)這種情況該如何處理呢?我們推薦使區(qū)間型延時(shí)設(shè)置,將這個(gè)“區(qū)間時(shí)間”設(shè)置的實(shí)際交易響應(yīng)時(shí)間些,根據(jù)這個(gè)時(shí)間再計(jì)算對(duì)應(yīng)的并發(fā)戶(hù)量。另外,建議

19、家建個(gè)excel的表格,于計(jì)算延時(shí)和并發(fā)戶(hù)的值,效果見(jiàn)下表2。表2 場(chǎng)景設(shè)置具表表2中的列“延時(shí)設(shè)置”的值是使公式動(dòng)計(jì)算出來(lái)的,公式為“=并發(fā)戶(hù)單元格編號(hào)/(標(biāo)TPS單元格編號(hào)*交易占單元格編號(hào))”。建這個(gè)表之后我們只需動(dòng)修改兩個(gè)列的值就可以便地計(jì)算出每個(gè)場(chǎng)景下的每個(gè)交易的延時(shí),這兩個(gè)列就是“平均響應(yīng)時(shí)間”和“并發(fā)戶(hù)數(shù)”。平均響應(yīng)時(shí)間隨著并發(fā)戶(hù)的增加必然會(huì)相應(yīng)地增長(zhǎng),所以在表2中每個(gè)場(chǎng)景的平均響應(yīng)時(shí)間數(shù)據(jù)都是上個(gè)場(chǎng)景的執(zhí)結(jié)果。這樣我們每執(zhí)完成個(gè)場(chǎng)景,然后就把響應(yīng)時(shí)間的數(shù)據(jù)填寫(xiě)到下個(gè)場(chǎng)景中,然后再修改并發(fā)戶(hù)數(shù)量,并確保延時(shí)設(shè)置于平均響應(yīng)時(shí)間即可,如果在測(cè)試執(zhí)過(guò)程中出現(xiàn)平均響應(yīng)時(shí)間于延時(shí)設(shè)置時(shí)間時(shí)

20、需要停場(chǎng)景重新計(jì)算。綜上所述,多交易混合負(fù)載場(chǎng)景并不是個(gè)場(chǎng)景,是系列混合場(chǎng)景的集合。還以上例來(lái)說(shuō),標(biāo)100TPS時(shí)我們分析監(jiān)控結(jié)果發(fā)現(xiàn)系統(tǒng)各項(xiàng)資源利率都不是太,這說(shuō)明應(yīng)還能夠承受更的壓。這就需要我們繼續(xù)加壓進(jìn)測(cè)試。我們可能的場(chǎng)景是150TPS、200TPS等等。那么如何確定我們的壓梯度呢?這就要看系統(tǒng)資源到底使了多少,如果100TPS時(shí)發(fā)現(xiàn)系統(tǒng)各項(xiàng)資源使率在50%左右,我們就可以估計(jì)應(yīng)的最優(yōu)TPS應(yīng)該能夠達(dá)到150,那么我們下個(gè)場(chǎng)景就是要按150TPS的標(biāo)壓去發(fā)壓,相關(guān)的并發(fā)戶(hù)和延時(shí)根據(jù)上表進(jìn)調(diào)整即可。如果不能實(shí)現(xiàn)150TPS的壓,那么我們就要減少標(biāo)TPS再進(jìn)發(fā)壓,直到測(cè)試獲取到應(yīng)的最優(yōu)TPS

21、。多交易混合容量容量的意思就是應(yīng)能夠達(dá)到的最TPS。該場(chǎng)景是和多交易混合負(fù)載場(chǎng)景相關(guān)聯(lián)的,即通過(guò)多交易混合負(fù)載找出應(yīng)承受的最優(yōu)TPS后繼續(xù)對(duì)應(yīng)進(jìn)加壓,直到找到應(yīng)的最TPS。混合容量場(chǎng)景的并發(fā)戶(hù)與延時(shí)調(diào)節(jié)式和混合負(fù)載樣,在這就不再贅述了。并發(fā)該類(lèi)場(chǎng)景的的是考察系統(tǒng)在并發(fā)的情況下是否存在問(wèn)題,是否有報(bào)錯(cuò),是否有戶(hù)失敗等。并發(fā)般要設(shè)置個(gè)延時(shí),于到達(dá)最優(yōu)并發(fā)時(shí)的TPS。那么,并發(fā)時(shí)的戶(hù)到底設(shè)置多少,這個(gè)延時(shí)要設(shè)置多久,依據(jù)是什么呢?般我們?cè)O(shè)置的并發(fā)戶(hù)數(shù)量是最優(yōu)并發(fā)的510倍,延時(shí)要通過(guò)計(jì)算得到。這還是舉例說(shuō)明,有個(gè)應(yīng),測(cè)試得到的最TPS為200,對(duì)應(yīng)的并發(fā)戶(hù)為20,那么我們可以設(shè)置兩個(gè)并發(fā)場(chǎng)景,即10

22、0并發(fā)戶(hù)和200并發(fā)戶(hù)。100并發(fā)時(shí)的延時(shí)設(shè)置為100/200TPS=0.5秒,200并發(fā)時(shí)的延時(shí)設(shè)置為200/200TPS=1秒,這個(gè)延時(shí)為區(qū)間型的延時(shí)。通常,在進(jìn)并發(fā)測(cè)試時(shí)獲得的TPS結(jié)果要最TPS低很多,因?yàn)樵诓l(fā)時(shí)系統(tǒng)很有可能出現(xiàn)某些資源不夠,線(xiàn)程很可能會(huì)出現(xiàn)嚴(yán)重的阻塞等等。如何考量并發(fā)測(cè)試獲得的測(cè)試結(jié)果是否符合預(yù)期,或者說(shuō)并發(fā)測(cè)試通過(guò)的標(biāo)準(zhǔn)是什么?這個(gè)也沒(méi)有固定的標(biāo)準(zhǔn)可循,通常我們認(rèn)為只要符合如下兩的要求即可認(rèn)為測(cè)試通過(guò)。最并發(fā)戶(hù)量是否能達(dá)到最TPS時(shí)的5倍;測(cè)試結(jié)果的TPS是否達(dá)到測(cè)試指標(biāo)的要求;需要說(shuō)明的是這的并發(fā)和應(yīng)的最優(yōu)并發(fā)與最并發(fā)并不是回事,者并不相同。穩(wěn)定性給應(yīng)個(gè)恒定的壓

23、,使場(chǎng)景運(yùn)較長(zhǎng)的時(shí)間,于測(cè)試應(yīng)在長(zhǎng)時(shí)間運(yùn)下的表現(xiàn),TPS是否有較波動(dòng)、是否有錯(cuò)誤和異常、是否存在內(nèi)存溢出等。根據(jù)業(yè)務(wù)類(lèi)型不同般會(huì)運(yùn)不同的時(shí)長(zhǎng),對(duì)于5*8這樣的應(yīng)穩(wěn)定性運(yùn)8時(shí)即可,7*24這樣的應(yīng)最好能夠運(yùn)12時(shí)以上。恒定的壓怎么選???通常有兩種式。第種,選擇應(yīng)最優(yōu)壓的80%最為標(biāo)壓,這種式較適合應(yīng)的最優(yōu)TPS不是很的應(yīng),如200以下;第種,如果應(yīng)的TPS較,那么我們需要換種式,否則就會(huì)產(chǎn)較多的測(cè)試數(shù)據(jù)。例如個(gè)應(yīng)的最優(yōu)TPS為1000筆/秒,如果我們?nèi)∑?0%的壓800筆/秒,那么加壓12時(shí)的數(shù)據(jù)量為3456萬(wàn)!這時(shí),我們使200TPS的恒定壓運(yùn)12時(shí)即可。擴(kuò)展性考察應(yīng)的擴(kuò)展能。未擴(kuò)展的情況下基

24、本是個(gè)系統(tǒng)使個(gè)單獨(dú)的機(jī)器節(jié)點(diǎn),也就是應(yīng)的單點(diǎn)情況。擴(kuò)展性就是,再對(duì)應(yīng)進(jìn)個(gè)節(jié)點(diǎn)的擴(kuò)展,測(cè)試擴(kuò)展情況下的TPS。般雙節(jié)點(diǎn)的總TPS達(dá)到單節(jié)點(diǎn)的1.8倍即認(rèn)為系統(tǒng)具有良好的擴(kuò)展性。壓測(cè)時(shí)我們選取混合容量場(chǎng)景中獲取到應(yīng)最TPS時(shí)的場(chǎng)景做為壓測(cè)場(chǎng)景,并使不同的壓機(jī)分別對(duì)兩個(gè)節(jié)點(diǎn)進(jìn)加壓,考察測(cè)試結(jié)果能夠達(dá)到多少TPS。可靠性或異常測(cè)試這種情況下般是將壓做為背景,對(duì)應(yīng)所依賴(lài)的環(huán)境進(jìn)模擬故障,考察應(yīng)的表現(xiàn)是否符合預(yù)期。例如,在定壓背景下,模擬絡(luò)的閃斷,待絡(luò)恢復(fù)后應(yīng)TPS是否能夠及時(shí)恢復(fù)。背景壓我們般選取混合負(fù)載測(cè)試獲取最優(yōu)TPS時(shí)的場(chǎng)景即可。影響性影響性測(cè)試也是性能測(cè)試過(guò)程中經(jīng)常遇到類(lèi)場(chǎng)景。這種場(chǎng)景般是針對(duì)提

25、供實(shí)時(shí)功能的應(yīng)所設(shè)計(jì)的。例如,有批處理或異步處理的應(yīng)。嚴(yán)格來(lái)說(shuō),這不應(yīng)該算是個(gè)單獨(dú)場(chǎng)景類(lèi)型,應(yīng)該是種特定的測(cè)試類(lèi)型。對(duì)于這類(lèi)的測(cè)試我們般分兩步來(lái)執(zhí),先是在未啟具有影響性的功能時(shí)測(cè)試出應(yīng)的最優(yōu)和最TPS;其次,啟動(dòng)具有影響性的功能,再按第步的場(chǎng)景(場(chǎng)景的設(shè)置均不變)進(jìn)測(cè)試,對(duì)者的TPS差別,這個(gè)差別就是我們要考察的影響性。擋板延時(shí)對(duì)如果壓測(cè)環(huán)境使了擋板,可以通過(guò)擋板來(lái)設(shè)置不同的延時(shí)進(jìn)對(duì)測(cè)試。如延時(shí)設(shè)置為0.5秒,1秒,甚2秒。根據(jù)不同的延時(shí)設(shè)置,增加相應(yīng)的并發(fā)戶(hù)數(shù)量,調(diào)整場(chǎng)景的各項(xiàng)設(shè)置,考察應(yīng)是否能夠達(dá)到最TPS,是否出現(xiàn)并發(fā)戶(hù)失敗或應(yīng)異常等。對(duì)于擋板延時(shí),般的作是模擬被調(diào)的系統(tǒng)的延遲,考察被測(cè)應(yīng)在不同的延時(shí)情況下的性能表現(xiàn)?,F(xiàn)在的應(yīng)系統(tǒng)很少有是完全獨(dú)的了,或多或少地都需要調(diào)別的系統(tǒng)來(lái)實(shí)現(xiàn)某些操作或業(yè)務(wù)。例如,對(duì)于個(gè)付系統(tǒng),起碼需要調(diào)銀通道、銀

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論