版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、性能測(cè)試數(shù)據(jù)分析經(jīng)驗(yàn)我以為福建移動(dòng)BOSS系統(tǒng)做的一個(gè)小規(guī)模的性能測(cè)試為例,談?wù)勎以跀?shù)據(jù)分析中的一些經(jīng)驗(yàn)。測(cè)試用例,模式如下圖。 一臺(tái)Linux模擬Browser(簡(jiǎn)稱(chēng)browser)向主機(jī)SUN發(fā) HTTP請(qǐng)求,SUN上啟動(dòng)Apache Web Server將請(qǐng)求交給FCGI程序。FCGI程序作為T(mén)E節(jié)點(diǎn)CC1(簡(jiǎn)稱(chēng)fcgi)的客戶進(jìn)程發(fā)起TE事務(wù),經(jīng)GT1名字服務(wù)向CC2 (簡(jiǎn)稱(chēng)svr_cc)發(fā)送一個(gè)分支,CC2 上服務(wù)嵌套經(jīng)GT1名字服務(wù)向ACCTFZ(在HP上,簡(jiǎn)稱(chēng)svr_ac)發(fā)送一個(gè)分支。測(cè)試3種壓力情況,即10browser/10fcgi/5svr_cc服務(wù)進(jìn)程/2sv
2、r_ac服務(wù)進(jìn)程,20browser/20fcgi /10svr_cc服務(wù)進(jìn)程/2svr_ac服務(wù)進(jìn)程,30browser/20fcgi/10svr_cc服務(wù)進(jìn)程/2svr_ac服務(wù)進(jìn)程。一記錄數(shù)據(jù)。各個(gè)部分的應(yīng)用程序在程序中關(guān)鍵地方記錄時(shí)間,精確到微秒(毫秒也可以),并按一定格式寫(xiě)入日志文件。這樣可以并計(jì)算相同應(yīng)用相臨時(shí)間點(diǎn)之間的平均時(shí)間差(編程序分析日志文件或用excel導(dǎo)入)。有了時(shí)間差,才能分析出整個(gè)系統(tǒng)性能的瓶頸(處理慢的環(huán)節(jié))。下面給出一個(gè)fcgi進(jìn)程(也是TE客戶端進(jìn)程)的日志文件片段。19:21:32.628.512 begin_tpbegin19:21:32.628.833
3、end_tpbegin19:21:32.628.944 begin_tpsetbranch19:21:32.629.053 end_tpsetbranch19:21:32.629.487 begin_tpcall19:21:37.102.996 end_tpcall19:21:37.103.806 begin_tpcommit19:21:37.432.253 end_tpcommit19:21:40.405.345 begin_tpbegin19:21:40.405.532 end_tpbegin19:21:40.405.639 begin_tpsetbranch19:21:40.405.74
4、2 end_tpsetbranch19:21:40.406.175 begin_tpcall19:21:46.732.888 end_tpcall19:21:46.733.650 begin_tpcommit19:21:46.832.538 end_tpcommit第一個(gè)字段是時(shí)間點(diǎn)時(shí)間,第二個(gè)字段是該時(shí)間點(diǎn)描述串,兩個(gè)字段用空格間隔。從這個(gè)文件可以看出,fcgi進(jìn)程是循環(huán)處理業(yè)務(wù)的。 begin_tpbegin處開(kāi)始一筆業(yè)務(wù),begin_tpcall和end_tpcall之間是TE_tpcall()發(fā)起請(qǐng)求到收到應(yīng)答的時(shí)間,begin_tpbegin和end_tpbegin之間是TE_tpc
5、ommit()發(fā)起提交到收到提交應(yīng)答的時(shí)間。而end_tpcommit到 begin_tpcall是fcgi進(jìn)程從一筆業(yè)務(wù)結(jié)束到開(kāi)始下一筆業(yè)務(wù)的時(shí)間,在這里也就是fcgi進(jìn)程從Web Server獲取HTTP請(qǐng)求的時(shí)間。從這種格式的原始數(shù)據(jù)文件可以編程序計(jì)算出相臨時(shí)間點(diǎn)之間的時(shí)間差,并可以計(jì)算出所有交易的平均時(shí)間差。也可以用excel打開(kāi)這種格式的原始數(shù)據(jù)文件,按空格分隔各列,讀入excel后就可以使用excel提供的函數(shù)(入SEC()函數(shù)從hh:mm:ss時(shí)間格式換算成秒)和公式計(jì)算時(shí)間差和平均值,以及產(chǎn)生圖表等等。事實(shí)證明excel的功能是十分強(qiáng)大和方便的。二誤差的判斷和排除。根據(jù)原始數(shù)據(jù)
6、統(tǒng)計(jì)出的3種壓力情況下fcgi各點(diǎn)時(shí)間如下。 10_10_5_2(ms) 20_20_10_2(ms) 30_20_10_2(ms)TPC(筆/秒) 2.16967
7、; 2.28571 2.21911fcgi receive from fcgi 343 931 1676tpcall 4096 7614 8067tpc
8、ommit 176 204 205total_fcgi 4615 8749 9731比較10_10_5_2和20_20_10_2,由于20_20_10_2在SUN主機(jī)上啟動(dòng)fcgi進(jìn)程和svr_cc服務(wù)進(jìn)程數(shù)都比 10_10_5_2多,SUN上的壓力也較大,因此r
9、eceive from fcgi的時(shí)間也較大是合理的。比較20_20_10_2和30_20_10_2,2在SUN主機(jī)上,壓力沒(méi)有變化,僅是有HTTP請(qǐng)求的排隊(duì)(因?yàn)?browser進(jìn)程比f(wàn)cgi進(jìn)程多),SUN上的壓力應(yīng)基本一樣,而receive from fcgi的時(shí)間有較大的差別是不合理的??紤]到在測(cè)30_20_10_2并發(fā)時(shí)有失敗業(yè)務(wù),懷疑可能由于browser上加給web Server過(guò)大造成失敗。這次性能測(cè)試主要測(cè)試系統(tǒng)正常(業(yè)務(wù)正常,壓力情況是預(yù)計(jì)壓力情況)時(shí)的系統(tǒng)情況,而在有業(yè)務(wù)失敗時(shí)往往有些前端進(jìn)程工作不正常,不能對(duì)后臺(tái)造成預(yù)期的壓力,這時(shí)取平均值可能會(huì)造成較大誤差。
10、拿出其中任一個(gè)FCGI進(jìn)程的原始數(shù)據(jù),比較其在20_20_10_2和30_20_10_2兩種壓力下的receive from fcgi的時(shí)間數(shù)據(jù),并用excel產(chǎn)生圖表, 入下圖。 比較上面兩個(gè)圖表可以發(fā)現(xiàn),20_20_10_2時(shí)各時(shí)間點(diǎn)基本都平均分布在1.5秒之內(nèi),僅有極少數(shù)幾個(gè)點(diǎn)在1.5秒之外,且最大不超過(guò)4秒,由此可以認(rèn)為對(duì)這些值取平均值的誤差是可以接受的。而30_20_10_2時(shí)在測(cè)試開(kāi)始階段(800筆之前)和結(jié)束階段(4500筆之后)的時(shí)間點(diǎn)明顯高于中間階段的時(shí)間點(diǎn),這應(yīng)該是由于壓力大時(shí)在測(cè)試開(kāi)始階段30個(gè)browser進(jìn)程沒(méi)有很快把壓力壓向fcgi(壓力小時(shí)也有
11、這種情況,但時(shí)間會(huì)小的多),這樣造成30個(gè)browser進(jìn)程也不是在相近時(shí)間內(nèi)結(jié)束,在結(jié)束階段只有少數(shù)browser進(jìn)程仍沒(méi)有完成,這時(shí)的系統(tǒng)壓力變小,fcgi進(jìn)程等待HTTP請(qǐng)求時(shí)間也變長(zhǎng)。在30_20_10_2時(shí)這種非正常壓力時(shí)間段很長(zhǎng)并且數(shù)據(jù)差距很大,這時(shí)取全部時(shí)間段內(nèi)的數(shù)值的平均值必然帶來(lái)誤差。從上圖可以看到,應(yīng)該取800筆到4500之間系統(tǒng)穩(wěn)定時(shí)的數(shù)據(jù)作為有效數(shù)據(jù)。注意其他環(huán)節(jié)的進(jìn)程的時(shí)間統(tǒng)計(jì)也需要按這一筆數(shù)范圍作為有效數(shù)據(jù)。經(jīng)過(guò)修正后的全部數(shù)據(jù)見(jiàn)下表。數(shù)據(jù)基本正常。
12、; 10_10_5_2(ms) 20_20_10_2(ms) 30_20_10_2(ms)TPC(筆/秒) 2.16967 2.28571 2.21911browser &
13、#160; 4609 8750 13519fcgi receive from fcgi 343 931 954tpcall 4096
14、60; 7614 8575tpcommit 176 204 202total_fcgi 4615 8749 9731svr_cc
15、0; receive from TE 4 16 18service_before_tpcall 1346 3401 4201tpcall 927
16、; 927 598service_after_tpcall 38 45 53total_svr_cc 2315 4389 4870waiting&receive from TE &
17、#160; 289 267 555service 636 611 418經(jīng)驗(yàn):有時(shí)取平均值會(huì)有較大的誤差,尤其是測(cè)試不完全正常的情況。這時(shí)需要仔細(xì)分析原始數(shù)據(jù),排除造成誤差的數(shù)據(jù),以系統(tǒng)穩(wěn)定(正常)時(shí)的數(shù)據(jù)作為有效數(shù)據(jù)。這里excel圖表功能是一個(gè)非常好用的工具。三數(shù)據(jù)分析。從業(yè)務(wù)流程中可以想象,fcgi端的TE_tpcall()時(shí)間似乎應(yīng)該大致等于或略大于(網(wǎng)絡(luò)
18、傳輸時(shí)間等等)svr_cc上服務(wù)總的時(shí)間加上排隊(duì)時(shí)間,而排隊(duì)時(shí)間應(yīng)該這樣線性計(jì)算:前端并發(fā)數(shù)/服務(wù)端并發(fā)數(shù)*服務(wù)端服務(wù)單筆總的平均時(shí)間。但上表的實(shí)際數(shù)據(jù)是TE_tpcall()時(shí)間小于svr_cc上服務(wù)總的時(shí)間!類(lèi)似的,browser端的時(shí)間和fcgi上fcgi進(jìn)程處理時(shí)間也有這種現(xiàn)象,只是相差很小。這是因?yàn)閷?shí)際情況不是我們想象的那樣!SUN主機(jī)上即有客戶端cc1(包括FCGI)節(jié)點(diǎn)也有服務(wù)端cc2節(jié)點(diǎn)的進(jìn)程和TE核心運(yùn)行。如果cc1上只有一個(gè)fcgi進(jìn)程(TE客戶端進(jìn)程)串行發(fā)起業(yè)務(wù),我們可以認(rèn)為fcgi端的TE_tpcall()時(shí)間似乎應(yīng)該大致等于或略大于(網(wǎng)絡(luò)傳輸時(shí)間等等)svr_cc上
19、服務(wù)總的時(shí)間。而當(dāng)cc1上有多個(gè)fcgi進(jìn)程(TE客戶端進(jìn)程)并發(fā)發(fā)起業(yè)務(wù)時(shí),在處理一筆服務(wù)業(yè)務(wù)邏輯的時(shí)間段內(nèi),SUN上的 CPU時(shí)間還會(huì)分給其他客戶進(jìn)程以及TE核心(處理其他事務(wù)),這樣在客戶端并發(fā)情況下,每筆業(yè)務(wù)的服務(wù)端處理時(shí)間實(shí)際上包含一部分其他筆業(yè)務(wù)(客戶進(jìn)程和TE核心)的處理時(shí)間里。而所有的業(yè)務(wù)都是如此,最終TE_tpcall()平均時(shí)間小于svr_cc上服務(wù)總的平均時(shí)間。在cc1進(jìn)程和cc2進(jìn)程的關(guān)系中,由于他們?cè)谝慌_(tái)主機(jī)上,并且cc1進(jìn)程不在少數(shù),因此上述兩個(gè)時(shí)間差別也較大。而在browser和cc1的關(guān)系中,可以排除客戶端進(jìn)程的處理(因?yàn)樵诹硗庖慌_(tái)機(jī)器上)對(duì)服務(wù)端的影響,而只有TE核心并行處理多個(gè)交易對(duì)單筆服務(wù)處理時(shí)間的影響。在測(cè)試環(huán)境下,服務(wù)業(yè)務(wù)處理時(shí)間是主要時(shí)間,TE處理時(shí)間相對(duì)很小,因此上述兩個(gè)時(shí)間差別也非常小。經(jīng)驗(yàn):在多前端并發(fā)情況下,前端等待服務(wù)端應(yīng)答時(shí)間和服務(wù)端處理時(shí)間不是線性比例關(guān)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度城市供水管網(wǎng)改造工程承包合同正規(guī)范本6篇
- 2024生豬養(yǎng)殖與農(nóng)業(yè)科技推廣合作合同書(shū)3篇
- 二零二五年度傳媒行業(yè)勞動(dòng)合同范本及版權(quán)保護(hù)3篇
- 二零二五年度勞務(wù)派遣與外包服務(wù)綜合合同模板6篇
- 二零二五年度個(gè)人對(duì)個(gè)人演藝經(jīng)紀(jì)合同3篇
- 2024年防水材料出口合同3篇
- 2024年粵教滬科版九年級(jí)歷史上冊(cè)月考試卷
- 2024年滬教新版八年級(jí)生物上冊(cè)月考試卷
- 2024年北師大版九年級(jí)科學(xué)下冊(cè)月考試卷
- 2024年岳麓版必修3生物下冊(cè)階段測(cè)試試卷含答案
- 2025屆高考政治一輪復(fù)習(xí):統(tǒng)編版選擇性必修2《法律與生活》知識(shí)點(diǎn)考點(diǎn)提綱詳細(xì)版
- 基于PLC的食品包裝機(jī)控制系統(tǒng)設(shè)計(jì)
- 2023北師大版新教材高中數(shù)學(xué)必修第一冊(cè)考前必背
- 盤(pán)扣式卸料平臺(tái)施工方案
- 保密協(xié)議簡(jiǎn)單合同范本
- 《Photoshop CC 2018圖像處理案例教程》中職全套教學(xué)課件
- 機(jī)械設(shè)計(jì)作業(yè)集
- 食品快速檢測(cè)實(shí)驗(yàn)室要求
- 冬季心血管病預(yù)防知識(shí)
- DB36-T 720-2013 汽車(chē)加油站防雷裝置檢測(cè)技術(shù)規(guī)范
- 2024屆高考復(fù)習(xí)新課標(biāo)詞匯3000詞總表素材
評(píng)論
0/150
提交評(píng)論