999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談后端應(yīng)用系統(tǒng)性能測試方法

2016-12-06 12:16:44馬莉
電腦與電信 2016年6期
關(guān)鍵詞:進(jìn)程系統(tǒng)

馬莉

(中國移動(深圳)有限公司,廣東 深圳 518048)

淺談后端應(yīng)用系統(tǒng)性能測試方法

馬莉

(中國移動(深圳)有限公司,廣東深圳518048)

由于后端應(yīng)用系統(tǒng)的復(fù)雜性,業(yè)界常用的負(fù)載工具很難模擬后端系統(tǒng)的運(yùn)作。對于應(yīng)用系統(tǒng)來說,僅通過前端模擬用戶的方式來定位后端應(yīng)用系統(tǒng)的問題總會差強(qiáng)人意,因此本文提出一種針對后端應(yīng)用系統(tǒng)的性能測試方法,得出后端系統(tǒng)的最大處理能力以及擴(kuò)容的方法,進(jìn)而提高整個應(yīng)用系統(tǒng)的性能。

后端應(yīng)用系統(tǒng);性能測試;指標(biāo)值分析

1 引言

隨著應(yīng)用軟件用戶負(fù)載的增加和應(yīng)用環(huán)境越趨于復(fù)雜,用戶的響應(yīng)速度、系統(tǒng)的安全運(yùn)行等性能問題,逐漸成為軟件系統(tǒng)必須考慮的指標(biāo)之一。性能測試通常通過自動化的測試工具模擬多種正常、峰值以及異常的負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試,用來檢測軟件是否達(dá)到用戶提出的性能指標(biāo),及時發(fā)現(xiàn)軟件系統(tǒng)中存在的瓶頸,升級軟件、擴(kuò)容硬件,最后起到優(yōu)化系統(tǒng)的目的。目前已經(jīng)存在的性能測試工具數(shù)量不下一百種,從單一的開放源碼的免費(fèi)工具如OpenSTA,TestMaker、Jmeter等,到商業(yè)性能測試工具QALoad、LoadRunner、Webstress等。任何性能測試工具都有其優(yōu)缺點(diǎn),可以根據(jù)實(shí)際情況挑選用最合適的工具。但是對于后臺服務(wù)器的復(fù)雜性,目前針對性的測試工具匱乏,測試方法和策略也不像前端性能測試那么明確。

2 后端性能測試實(shí)施過程

性能測試需要經(jīng)過需求分析、測試準(zhǔn)備、搭建環(huán)境、測試執(zhí)行和測試結(jié)果分析等幾個重要階段,在此我們著重介紹需求分析、準(zhǔn)備階段測試環(huán)境的準(zhǔn)備,以及測試執(zhí)行階段關(guān)于后端系統(tǒng)需要重點(diǎn)關(guān)注的幾個方面。

2.1需求

后端應(yīng)用系統(tǒng)性能測試的需求來源主要是隨著前端請求數(shù)的快速增長,對系統(tǒng)進(jìn)行后端改造,需要了解改造后的系統(tǒng)性能情況。因此在測試前,需要了解系統(tǒng)目標(biāo)TPS、單個功能域的目標(biāo)處理速度、系統(tǒng)目標(biāo)承載能力等。

有了目標(biāo)后,首先要了解各個系統(tǒng)之間的通信形式,了解組網(wǎng)中各個模塊之間的通信方式、接口調(diào)用方式等信息,對于測試用例的設(shè)計以及測試環(huán)境的搭建是至關(guān)重要。其次了解系統(tǒng)進(jìn)程處理的邏輯和順序,啟動進(jìn)程時需要調(diào)用和匹配哪些數(shù)據(jù),以及數(shù)據(jù)在系統(tǒng)中被處理時的存放機(jī)制等,利用設(shè)計測試用例,精準(zhǔn)的用例可以直擊系統(tǒng)問題的本質(zhì),減少摸索的時間。

較為復(fù)雜的系統(tǒng),都會有自己的模塊組合方式。需要了解整個系統(tǒng)由幾個模塊組成,各個模塊的耦合關(guān)系是怎樣的,不僅對于功能測試中的異常測試用例的設(shè)計有很大幫助,而且對于性能測試的幫助也同樣不可小覷。如有一個性能需求是發(fā)現(xiàn)現(xiàn)網(wǎng)有一個查詢分支性能是否有問題,那么就需要很快地鎖定關(guān)鍵的模塊,瓶頸很可能存在于處理這條分支的server上。同時了解系統(tǒng)的各個模塊以及模塊之間的耦合關(guān)系,對理解性能曲線、調(diào)整測試方案同樣重要。

2.2建立業(yè)務(wù)數(shù)據(jù)模型

在了解到詳細(xì)的測試需求和系統(tǒng)架構(gòu)的基礎(chǔ)上,需要做好充足的測試準(zhǔn)備,在數(shù)據(jù)準(zhǔn)備方面,可以建立相應(yīng)的數(shù)據(jù)模型,按照模型的配比準(zhǔn)備數(shù)據(jù)。建立業(yè)務(wù)模型首先要關(guān)注的是現(xiàn)網(wǎng)運(yùn)行的業(yè)務(wù)數(shù)據(jù),并建立相應(yīng)的業(yè)務(wù)模型。以某計費(fèi)系統(tǒng)上線測試為例,計費(fèi)系統(tǒng)主要的功能模塊有計費(fèi)模塊、合帳模塊、出賬展示模塊,目的是為了在系統(tǒng)上線前需要全面掌握系統(tǒng)的性能情況。

(1)對系統(tǒng)近幾個月的業(yè)務(wù)總量進(jìn)行統(tǒng)計分析,分析得出辦理較多的交易(約占業(yè)務(wù)辦理總量的90%左右)。

(2)對業(yè)務(wù)量辦理較多的幾支交易,按天統(tǒng)計當(dāng)月的交易量。

(3)對每個月的高峰日交易量進(jìn)行分析,按小時統(tǒng)計每支交易的占比,獲取最大的小時交易量,顆粒度越小,數(shù)據(jù)越精準(zhǔn)。

表1 分別按月、按天、按時段交易量統(tǒng)計

(4)對小時交易量進(jìn)行分析,獲取各支交易的占比,該業(yè)務(wù)占比的比例關(guān)系,也是在測試執(zhí)行過程中,并發(fā)用戶數(shù)的配比關(guān)系。

表2 高峰時段交易量占比統(tǒng)計

2.3測試環(huán)境的準(zhǔn)備

測試環(huán)境的搭建往往要根據(jù)測試用例的設(shè)計而確定。對于初次進(jìn)行性能測試的系統(tǒng),目標(biāo)是盡可能和現(xiàn)網(wǎng)一致。考慮到測試環(huán)境成本問題,可搭建縮小版的測試環(huán)境,但需要注意測試環(huán)境與現(xiàn)網(wǎng)系統(tǒng)架構(gòu)必須相同,使用的操作系統(tǒng)、各軟件版本、參數(shù)配置必須相同,硬件型號、配置需與現(xiàn)網(wǎng)相同等等。

(1)測試數(shù)據(jù)準(zhǔn)確性

大數(shù)據(jù)量以及數(shù)據(jù)的多樣性往往是模擬的難點(diǎn),數(shù)據(jù)量配比可以按照業(yè)務(wù)數(shù)據(jù)模型占比準(zhǔn)備,數(shù)據(jù)準(zhǔn)備通常有三種方法:

1)大數(shù)據(jù)量需要自己寫腳本將數(shù)據(jù)庫填充到一定的程度。

2)如對數(shù)據(jù)的一致性要求高的話,可以采用從現(xiàn)網(wǎng)對數(shù)據(jù)做攔截、備份、導(dǎo)入的方法。

3)會話消息類型的數(shù)據(jù)可以采用模擬器生成的方式,生成所需要的會話類型,采集部分歷史數(shù)據(jù)進(jìn)行數(shù)據(jù)特性分析,包括數(shù)據(jù)封裝規(guī)則、數(shù)據(jù)大小范圍、數(shù)據(jù)大小波動方差、時長范圍、時長波動方差等,通過模擬器配置控制數(shù)據(jù)的樣式、數(shù)據(jù)大小、時長,以及隨機(jī)抖動的程度,這種方法可實(shí)現(xiàn)數(shù)據(jù)多維度多樣性,達(dá)到模擬的效果。

(2)測試環(huán)境網(wǎng)絡(luò)時延

網(wǎng)絡(luò)時延和IDC機(jī)器管理有著密切聯(lián)系。但是卻常常被測試人員忽略,測試機(jī)器也和運(yùn)營機(jī)器一樣,分布在不同的IDC,在挑選機(jī)器部署時,需要先了解一下現(xiàn)網(wǎng)運(yùn)營機(jī)器之間的網(wǎng)絡(luò)時延。

(3)測試環(huán)境配置

日志級別的配置、線程或進(jìn)程的個數(shù)配比需要與現(xiàn)網(wǎng)盡可能一致,在診斷問題時可以將日志級別降低,以便發(fā)現(xiàn)定位問題。

(4)測試工具準(zhǔn)備

直接針對后端性能測試的工具較少,往往在統(tǒng)計測試結(jié)果時需要大量的人為操作,對于后端服務(wù)系統(tǒng)來說,這就需要提前準(zhǔn)備的數(shù)據(jù)統(tǒng)計的方法、腳本等分別從數(shù)據(jù)庫和日志中計算出系統(tǒng)的處理能力。

2.4TPS模型配比

后端系統(tǒng)改造往往沒有歷史的性能情況,這種情況下,可以采用目標(biāo)TPS的方式壓測,即業(yè)務(wù)模型的比例是由總的目標(biāo)TPS得出各業(yè)務(wù)之間的目標(biāo)TPS的比例,再反向推出并發(fā)用戶數(shù)的配比。

步驟一,需要知道每種業(yè)務(wù)在單個并發(fā)情況下對系統(tǒng)資源消耗的情況,即將2.2章節(jié)中的業(yè)務(wù)模型所涉及的所有業(yè)務(wù),單用戶執(zhí)行多次,獲取該業(yè)務(wù)單TPS值和響應(yīng)時間time。

步驟二,根據(jù)最終要達(dá)到的整個系統(tǒng)的目標(biāo)TPS_all以及2.2章節(jié)中該業(yè)務(wù)A的占比,計算該業(yè)務(wù)需要應(yīng)達(dá)到的目標(biāo)TPS_every=TPS_all*業(yè)務(wù)A占比;

步驟三,根據(jù)基準(zhǔn)TPS_all和目標(biāo)TPS_every,計算虛擬用戶數(shù),即Vuser_every=TPS_all/TPS_every,得到的Vuser_every值往往不是整數(shù),在設(shè)定并發(fā)時需要對Vuser_every取整;

步驟四,根據(jù)Vuser_every和目標(biāo)TPS_all,反推出單個用戶的TPS_every1,TPS_every1=TPS_all/Vuser;

步驟五,計算各業(yè)務(wù)之間的延遲時間,延遲時間為實(shí)際的響應(yīng)時間time和計算得出響應(yīng)時間time1的差值。根據(jù)TPS_every1,計算出各業(yè)務(wù)單個用戶響應(yīng)時間time1,響應(yīng)時間與TPS成反比,即time1=1/TPS_every1,延遲時間=time1-time;

綜上,得出的并發(fā)用戶數(shù)量和延遲時間,就可以應(yīng)用在后續(xù)的測試執(zhí)行中。

2.5測試執(zhí)行與數(shù)據(jù)統(tǒng)計

性能測試執(zhí)行流程如圖1所示。傳統(tǒng)的性能測試方法都是按照業(yè)務(wù)模型各業(yè)務(wù)間的比例設(shè)置并發(fā)用戶數(shù),或是基于TPS的模型的負(fù)載配置方法,使應(yīng)用系統(tǒng)的測試結(jié)果符合業(yè)務(wù)模型的預(yù)期。而后端的壓測方法和網(wǎng)站等形式的系統(tǒng)差異較大:

(1)準(zhǔn)備充足的業(yè)務(wù)數(shù)據(jù),根據(jù)2.4章節(jié)得到的并發(fā)用戶數(shù)量和延遲時間,準(zhǔn)備相應(yīng)的業(yè)務(wù)數(shù)據(jù),用擋板技術(shù)使其停留在系統(tǒng)前端,等待處理;

(2)配比處理該業(yè)務(wù)進(jìn)程(或服務(wù))的個數(shù),以及個業(yè)務(wù)進(jìn)程之間的比例;

(3)首輪壓測的進(jìn)程個數(shù)不易太多,假設(shè)業(yè)務(wù)A部署N個進(jìn)程、業(yè)務(wù)B部署M個進(jìn)程,進(jìn)程啟動后,放開前端準(zhǔn)備好的測試數(shù)據(jù),待系統(tǒng)穩(wěn)定運(yùn)行后,記錄進(jìn)程(或服務(wù))個數(shù),以及此時測試的時間和后端服務(wù)器的消耗(CPU、內(nèi)存等);

(4)增加進(jìn)程(或服務(wù))的配置個數(shù),等比例增長,并記錄當(dāng)前測試時間和后端服務(wù)器的消耗(CPU、內(nèi)存等);

(5)重復(fù)步驟4,直至系統(tǒng)資源消耗達(dá)到預(yù)期(一般CPU達(dá)到70%以上即認(rèn)為已達(dá)到系統(tǒng)最大承載能力)、某臺服務(wù)器發(fā)出告警或是報錯,停止增加進(jìn)程(或服務(wù))。

(6)整個壓測過程中,每輪測試的起止時間是關(guān)鍵,測試結(jié)束后,根據(jù)測試時間統(tǒng)計后端服務(wù)器處理業(yè)務(wù)的速率,大致可分為兩種情況:一種是可落地直接寫進(jìn)物理庫的數(shù)據(jù),直接按照梯度增加進(jìn)程的每個時間段,統(tǒng)計處理業(yè)務(wù)的筆數(shù);另外一種是中間進(jìn)程(或服務(wù))處理,存儲在文件系統(tǒng)中的數(shù)據(jù),根據(jù)情況需要從處理日志中統(tǒng)計業(yè)務(wù)處理的筆數(shù)。

圖1 性能測試執(zhí)行流程圖

3 性能指標(biāo)分析

系統(tǒng)的性能指標(biāo)可以分為兩大類,系統(tǒng)指標(biāo)和資源指標(biāo)。典型的系統(tǒng)指標(biāo)有在線用戶數(shù)、吞吐量、響應(yīng)時間等,系統(tǒng)指標(biāo)有CPU、內(nèi)存分配和使用、文件、網(wǎng)絡(luò)IO操作、數(shù)據(jù)庫連接數(shù)操作等。近幾年隨著后端系統(tǒng)的出現(xiàn),對于大型服務(wù)器來說,硬件資源不足已經(jīng)不再是系統(tǒng)性能的瓶頸了,大型后端系統(tǒng)往往資源都十分充足,那么在評價后端系統(tǒng)性能時可以將關(guān)注重點(diǎn)放到系統(tǒng)吞吐量的波動情況、系資源使用的波動情況等,可以用數(shù)學(xué)理論統(tǒng)計、指標(biāo)值變化的情況,利用方差的概率建立波動模型。得出抖動率越小說明數(shù)據(jù)的振幅越小,系統(tǒng)越穩(wěn)定。

設(shè)指標(biāo)值為xi,i=1-n

由于后端服務(wù)器的復(fù)雜性,測試統(tǒng)計出的指標(biāo)值很難是一條直線,那么指標(biāo)值波動的程度決定了系統(tǒng)的情況,如有明顯的波動(有規(guī)律、無規(guī)律),表示系統(tǒng)不穩(wěn)定,常見瓶頸在于系統(tǒng)軟件、軟負(fù)載不均衡。小量的波動在一定程度上是可以容忍的,因此這時就需要建立一套指標(biāo)值的波動范圍,建立的依據(jù)可以通過對歷史數(shù)據(jù)的統(tǒng)計分析得出。

4 結(jié)束語

本文針對后端應(yīng)用系統(tǒng)提出性能測試方法,和前端WEB系統(tǒng)的性能測試的數(shù)據(jù)準(zhǔn)備、測試方法、結(jié)果采集、結(jié)果分析等多個層面差異較大,后端應(yīng)用系統(tǒng)的處理能力直接影響前端頁面處理能力,因此對于后臺服務(wù)器的性能瓶頸診斷和優(yōu)化才是整個應(yīng)用系統(tǒng)的關(guān)鍵。

[1]李少杰.面向移動智能終端應(yīng)用性能測試平臺的研究[M].廣東:華南理工大學(xué)出版社,2014.

[2]黃文高.深入性能測試[M].北京:中國水利水電出版社,2013.

[3]馮艷紅.軟件性能測試實(shí)施過程研究[J].軟件導(dǎo)刊,2011,10 (2):3-4.

[4]陳能技.軟件測試技術(shù)大全[M].北京:人民郵電出版社,2015.

Discussion on the Performance Testing Method for Back-endApplication System

Ma Li
(China Mobile(Shenzhen)Limited Company,Shenzhen 518048,Guangdong)

The complexity of the back-end application systems makes it difficult to be simulated by the common load tools.For the application system,it is barely satisfactory that only using the front-end user simulation mod to solve the problems of back-end application system.This paper presents a performance testing method for back-end application system,obtaining the maximum processing capacity and capacity expansion method,and improving the performance of the whole application system.

back-end application system;performance testing;index value analysis

TP311.52

A

1008-6609(2016)06-0062-03

馬莉,女,廣東人,碩士研究生,研究方向:軟件測試技術(shù)。

猜你喜歡
進(jìn)程系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
我國高等教育改革進(jìn)程與反思
Linux僵死進(jìn)程的產(chǎn)生與避免
男女平等進(jìn)程中出現(xiàn)的新矛盾和新問題
主站蜘蛛池模板: 久久久久人妻一区精品| 久久精品人人做人人爽电影蜜月| 婷婷在线网站| 亚洲天堂免费在线视频| 亚洲无码电影| 久久毛片网| 另类重口100页在线播放| 亚洲中文字幕久久无码精品A| 亚洲综合香蕉| 真人高潮娇喘嗯啊在线观看| 久久无码av三级| 国产电话自拍伊人| 试看120秒男女啪啪免费| 综合五月天网| 91精品专区| 国产午夜福利亚洲第一| 国产9191精品免费观看| 都市激情亚洲综合久久| 亚洲国产在一区二区三区| 亚洲人成人伊人成综合网无码| 男女性色大片免费网站| 亚洲中文字幕在线观看| 伊人久久精品无码麻豆精品| h视频在线观看网站| 一级毛片免费不卡在线| 一级毛片不卡片免费观看| 成人免费午间影院在线观看| 夜精品a一区二区三区| 全部免费特黄特色大片视频| 综合色在线| av在线无码浏览| 毛片基地美国正在播放亚洲| av在线无码浏览| 国产午夜人做人免费视频| 亚洲成a人片在线观看88| 日本a级免费| 欧美日韩激情| 亚洲国产成人麻豆精品| 国产人成网线在线播放va| 色135综合网| 超碰91免费人妻| 亚洲国产综合精品一区| 国产精品xxx| 国产精品视频第一专区| 久久精品无码一区二区日韩免费| 好吊妞欧美视频免费| 激情无码字幕综合| 伊人天堂网| 中文无码伦av中文字幕| 手机成人午夜在线视频| 在线视频亚洲欧美| 丁香综合在线| 国产精品成人一区二区不卡| 欧美一区二区啪啪| 国产三区二区| 国产精品部在线观看| 日本影院一区| 在线另类稀缺国产呦| 欧美中文字幕在线视频| 亚洲欧美h| 亚洲AV无码久久精品色欲| 精品久久人人爽人人玩人人妻| 国产乱子伦一区二区=| 亚洲午夜福利在线| 青青青亚洲精品国产| 亚洲一级毛片免费看| 国产麻豆精品手机在线观看| 伊人久久大线影院首页| 玩两个丰满老熟女久久网| 国产精品99一区不卡| 国产成人精品综合| 欧美成人午夜在线全部免费| 国产av色站网站| 欧美天堂久久| 丁香婷婷久久| 久久黄色视频影| 久久国产精品电影| 久久视精品| 无码视频国产精品一区二区| 久久精品只有这里有| 怡红院美国分院一区二区| 久草网视频在线|