解決方案
性能測(cè)試服務(wù)解決方案

1 方案概述

XX銀行的核心業(yè)務(wù)系統(tǒng)是運(yùn)行多年的系統(tǒng)。隨著業(yè)務(wù)量的逐年上升,對(duì)安全生產(chǎn)提出了挑戰(zhàn)。因此需要進(jìn)行一次性能評(píng)估測(cè)試,達(dá)到:第一,當(dāng)前系統(tǒng)能夠達(dá)到的峰值;第二,對(duì)于未來(lái)3-5年的預(yù)期,發(fā)現(xiàn)系統(tǒng)瓶頸,為系統(tǒng)調(diào)優(yōu)做準(zhǔn)備。


需要通過(guò)性能測(cè)試,來(lái)發(fā)現(xiàn)當(dāng)前系統(tǒng)的瓶頸,以確定哪些部分需要進(jìn)行優(yōu)化,為后期的系統(tǒng)調(diào)優(yōu)提供依據(jù)。

1.1 總體目標(biāo)
對(duì)核心系統(tǒng)進(jìn)行峰值測(cè)試,達(dá)到:

第一, 對(duì)核心業(yè)務(wù)系統(tǒng)進(jìn)行分階段進(jìn)行性能測(cè)試;

第二, 根據(jù)當(dāng)前的運(yùn)行情況,分析性能測(cè)試場(chǎng)景、估算吞吐量,然后根據(jù)吞吐量進(jìn)行性能測(cè)試(模擬高峰),看系統(tǒng)是否存在隱藏缺陷。

第三, 在各個(gè)性能測(cè)試場(chǎng)景之下,持續(xù)對(duì)系統(tǒng)加大壓力,測(cè)試系統(tǒng)的容量(平均響應(yīng)時(shí)間在可接受范圍內(nèi)),并且發(fā)現(xiàn)系統(tǒng)在達(dá)到容量之后是否出現(xiàn)異常,為安全生產(chǎn)提供指標(biāo)。

第四, 對(duì)系統(tǒng)未來(lái)3-5年的壓力進(jìn)行預(yù)估(數(shù)據(jù)量和交易量),并根據(jù)預(yù)估結(jié)果進(jìn)行測(cè)試,發(fā)現(xiàn)性能瓶頸和需要優(yōu)化的節(jié)點(diǎn)。

第五, 根據(jù)測(cè)試情況,提交測(cè)試報(bào)告和缺陷報(bào)告。


1.2 性能測(cè)試方法論

1.2.1 性能測(cè)試分類(lèi)
性能測(cè)試(Performance Testing):性能測(cè)試方法是通過(guò)模擬生產(chǎn)運(yùn)行的業(yè)務(wù)壓力量和使用場(chǎng)景組合,測(cè)試系統(tǒng)的性能是否滿足生成性能要求。即在特定的運(yùn)行條件下驗(yàn)證系統(tǒng)的能力狀況。

負(fù)載測(cè)試(Load Testing):在給定的測(cè)試環(huán)境下,通過(guò)在被測(cè)系統(tǒng)上不斷增加壓力,直到性能指標(biāo)超過(guò)預(yù)定指標(biāo)或某種資源使用已經(jīng)達(dá)到飽和狀態(tài),目的是了解系統(tǒng)性能容量和處理能力極限。負(fù)載測(cè)試的主要用途是發(fā)現(xiàn)系統(tǒng)性能的拐點(diǎn),尋找系統(tǒng)能夠支持的用戶、業(yè)務(wù)等處理能力的約束。也可以理解為擴(kuò)展性測(cè)試(Scalability Testing),即在固定測(cè)試環(huán)境,在其它測(cè)試角度(負(fù)載方面)不變的情況下,變化一個(gè)測(cè)試角度并持續(xù)增加壓力,查看系統(tǒng)的性能曲線和處理極限,以及是 否有性能瓶頸存在(拐點(diǎn))。主要意義是從多個(gè)不同的測(cè)試角度去探測(cè)分析系統(tǒng)的性能變化情況,配合性能調(diào)優(yōu)。測(cè)試角度可以是并發(fā)用戶數(shù)、業(yè)務(wù)量、數(shù)據(jù)量等不 同方面的負(fù)載。

壓力測(cè)試(Stress Testing):測(cè)試系統(tǒng)在一定飽和狀態(tài)下系統(tǒng)能夠處理的會(huì)話能力,以及是否出現(xiàn)錯(cuò)誤,一般用于穩(wěn)定性測(cè)試?梢岳斫鉃橘Y源的極限測(cè)試。測(cè)試關(guān)注在資源處于飽和或超負(fù)荷的情況下,系統(tǒng)能否正常運(yùn)行,是一種在極端壓力下的穩(wěn)定性測(cè)試。其主要意義是通過(guò)測(cè)試調(diào)優(yōu)保證系統(tǒng)即使在極端的壓力情況下也不會(huì)出錯(cuò)甚至系統(tǒng)崩潰。51Testing軟件測(cè)試網(wǎng),g ZA){N%w1N

配置測(cè)試(Configuration Testing):通過(guò)對(duì)被測(cè)系統(tǒng)的軟硬件環(huán)境的調(diào)整,了解各種不同環(huán)境對(duì)性能影響的程度,從而找到系統(tǒng)各項(xiàng)資源的有分配原則。51Testing軟件測(cè)試網(wǎng)m(V:w/_!v主要用于性能調(diào)優(yōu),在經(jīng)過(guò)測(cè)試獲得了基準(zhǔn)測(cè)試數(shù)據(jù)后,進(jìn)行環(huán)境調(diào)整(包括硬件配置、網(wǎng)絡(luò)、操作系統(tǒng)、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)等),再將測(cè)試結(jié)果與基準(zhǔn)數(shù)據(jù)進(jìn)行對(duì)比,判斷調(diào)整是否達(dá)到狀態(tài)。

并發(fā)測(cè)試(Concurrency Testing):模擬并發(fā)訪問(wèn),測(cè)試多用戶并發(fā)訪問(wèn)同一個(gè)應(yīng)用、模塊、數(shù)據(jù)時(shí)是否產(chǎn)生隱藏的并發(fā)問(wèn)題,如內(nèi)存泄漏、線程鎖、資源爭(zhēng)用問(wèn)題。測(cè)試目的并非為了獲得性能指標(biāo),而是為了發(fā)現(xiàn)并發(fā)引起的問(wèn)題。

可靠性測(cè)試(Reliability Testing):通過(guò)給系統(tǒng)加載一定的業(yè)務(wù)壓力的情況下,讓?xiě)?yīng)用持續(xù)運(yùn)行一段時(shí)間,測(cè)試系統(tǒng)在這種條件下是否能夠穩(wěn)定運(yùn)行。需要和壓力測(cè)試區(qū)分開(kāi),兩者的測(cè)試環(huán)境和測(cè)試目的不一樣。壓力測(cè)試強(qiáng)調(diào)在資源極限情況下系統(tǒng)是否出錯(cuò),可靠性測(cè)試強(qiáng)調(diào)在一定的業(yè)務(wù)壓力下長(zhǎng)時(shí)間(如24×7)運(yùn)行系統(tǒng),關(guān)注系統(tǒng)的運(yùn)行情況(如資源使用率是否逐漸增加、響應(yīng)是否是否越來(lái)越慢),是否有不穩(wěn)定征兆。


1.2.2 性能測(cè)試的一般過(guò)程


如上圖,我們把性能測(cè)試分成以上階段:

測(cè)試計(jì)劃階段

規(guī)劃測(cè)試過(guò)程,編寫(xiě)測(cè)試方案、測(cè)試計(jì)劃。

準(zhǔn)備測(cè)試人員,搭建測(cè)試環(huán)境。

建立測(cè)試模型階段

根據(jù)歷史數(shù)據(jù),構(gòu)建測(cè)試模型,包括:壓力模型、業(yè)務(wù)模型、數(shù)據(jù)模型、監(jiān)控模型等。

測(cè)試模型主要是根據(jù)歷史信息和未來(lái)的預(yù)期來(lái)構(gòu)建。

創(chuàng)建測(cè)試場(chǎng)景階段

創(chuàng)建測(cè)試模型之后,需要?jiǎng)?chuàng)建不同的測(cè)試場(chǎng)景。

根據(jù)每日業(yè)務(wù)分布情況和特殊營(yíng)業(yè)日的業(yè)務(wù)分布情況,對(duì)峰值曲線進(jìn)行分析,主要分析曲線的峰值和拐點(diǎn)(曲率發(fā)生大的變化節(jié)點(diǎn)),拆分場(chǎng)景。

創(chuàng)建測(cè)試腳本

根據(jù)測(cè)試場(chǎng)景和具體的業(yè)務(wù),創(chuàng)建測(cè)試腳本。

測(cè)試腳本依賴(lài)于測(cè)試工具。測(cè)試腳本需要考慮到被測(cè)試系統(tǒng)的響應(yīng)速度等問(wèn)題。

執(zhí)行與監(jiān)控

根據(jù)測(cè)試場(chǎng)景和加壓方式等,進(jìn)行測(cè)試。

測(cè)試分成多個(gè)輪次進(jìn)行。

測(cè)試分析

分析測(cè)試結(jié)果。在測(cè)試過(guò)程中,會(huì)進(jìn)行壓力測(cè)試、負(fù)載測(cè)試、性能測(cè)試三個(gè)部分的測(cè)試(本次測(cè)試),并且獲得隨著壓力增長(zhǎng)而變化的性能監(jiān)控?cái)?shù)據(jù)。

通過(guò)對(duì)數(shù)據(jù)的分析,獲得測(cè)試報(bào)告,對(duì)發(fā)現(xiàn)的缺陷提交缺陷。


1.2.3 性能測(cè)試模型
性能測(cè)試模型,分成:壓力模型、業(yè)務(wù)模型、數(shù)據(jù)模型、監(jiān)控模型、風(fēng)險(xiǎn)模型等。

壓力模型

壓力模型,是根據(jù)系統(tǒng)的歷史數(shù)據(jù),分形當(dāng)前系統(tǒng)壓力的方法。

主要是對(duì)峰值的交易百分比進(jìn)行分析處理,獲得模擬的峰值。

業(yè)務(wù)模型

根據(jù)不同的業(yè)務(wù)品種(交易)來(lái)進(jìn)行分析,分析在不同的場(chǎng)景下,交易的百分比分布情況。

數(shù)據(jù)模型

數(shù)據(jù)模型,主要是根據(jù)當(dāng)前系統(tǒng)的數(shù)據(jù)量和關(guān)聯(lián)。

數(shù)據(jù)模型需要在測(cè)試時(shí)候選擇不同的關(guān)聯(lián)數(shù)據(jù)。例如:典型機(jī)構(gòu)的選取等。

監(jiān)控模型

對(duì)哪些部分進(jìn)行監(jiān)控,監(jiān)控的數(shù)據(jù)。

風(fēng)險(xiǎn)模型

系統(tǒng)存在哪些風(fēng)險(xiǎn),也是需要重點(diǎn)關(guān)注的數(shù)據(jù)和瓶頸。

對(duì)于重點(diǎn)關(guān)注的數(shù)據(jù)和瓶頸,需要進(jìn)行重點(diǎn)測(cè)試。


2 環(huán)境環(huán)境
2.1 測(cè)試環(huán)境
2.1.1 系統(tǒng)結(jié)構(gòu)

說(shuō)明:

1、 前置系統(tǒng)服務(wù)器主要負(fù)責(zé)柜面渠道、網(wǎng)銀渠道之外的渠道,以及與第三方系統(tǒng)的接口;

2、 核心業(yè)務(wù)系統(tǒng)采用AS/400的系統(tǒng);

 

2.1.2 軟件配置

資源名稱(chēng)/類(lèi)型

配置

數(shù)據(jù)庫(kù)管理系統(tǒng)

DB2(AS400)、未知(前置系統(tǒng))

應(yīng)用軟件

核心業(yè)務(wù)系統(tǒng)、前置系統(tǒng)

客戶端前端展示

柜臺(tái)業(yè)務(wù)系統(tǒng)

自動(dòng)測(cè)試工具

性能測(cè)試工具

測(cè)試管理測(cè)試工具

N/A

 

3 測(cè)試策略
制訂測(cè)試策略,首先有對(duì)測(cè)試進(jìn)行分析,識(shí)別在影響性能測(cè)試的風(fēng)險(xiǎn)項(xiàng)。然后根據(jù)風(fēng)險(xiǎn)項(xiàng)來(lái)制訂測(cè)試策略。


3.1 壓力模型
當(dāng)前高峰的壓力(下圖為節(jié)日交易數(shù)據(jù)):


取峰的數(shù)據(jù)為日均XX筆/日;

每小時(shí)交易量為:  XX筆/小時(shí),高峰時(shí)刻的平均吞吐率為:XX筆/秒。


3.1.1 估算模型一
從每日交易的分布情況來(lái)看,......。

吞吐率目標(biāo):75.9*120%=91筆/秒。

3.1.2 估算模型二
從交易高峰時(shí)段來(lái)看,按照......來(lái)計(jì)算:

XX/(7*3600) = XX筆/秒。


3.1.3 峰值估算
根據(jù)兩個(gè)模型的估算,我們可以把交易的峰值設(shè)置到XX筆/秒。


3.2 測(cè)試場(chǎng)景模型分析
3.2.1 一般營(yíng)業(yè)日
根據(jù)XX銀行的數(shù)據(jù):

3.2.2 節(jié)假日
節(jié)假日的情況如下:


峰值包括2個(gè):

第一,上午10-11點(diǎn)高峰,占總交易量的10.07%;

第二,下午3-4點(diǎn)高峰,占總交易量的11.39%;


3.2.3 場(chǎng)景


場(chǎng)景

場(chǎng)景描述

備注

上午8-9點(diǎn)

 

 

上午10-11點(diǎn)

 

 

下午3-4點(diǎn)

 

 

下午11點(diǎn)

 

 


3.3 測(cè)試策略
3.3.1 不同客戶端加壓的影響

如上圖,是系統(tǒng)的拓?fù)浣Y(jié)構(gòu)?梢钥吹皆谛阅軠y(cè)試中,可以通過(guò)客戶端發(fā)起交易來(lái)給系統(tǒng)進(jìn)行加壓,也可以通過(guò)發(fā)送報(bào)文的方式來(lái)加壓。兩種產(chǎn)生的效果差異在于:

 

比較項(xiàng)目

協(xié)議加壓

客戶端加壓

腳本的復(fù)雜

簡(jiǎn)單,容易產(chǎn)生大的壓力

復(fù)雜,需要更多的客戶端來(lái)執(zhí)行。每個(gè)客戶端都模擬鼠標(biāo)、鍵盤(pán)的輸入輸出,更真實(shí)

VU

不需要很多的虛擬用戶(VU)

需要更多的虛擬用戶(VU)

測(cè)試環(huán)境

比較簡(jiǎn)單,基本上單機(jī)即可

需要更復(fù)雜的測(cè)試環(huán)境,通過(guò)界面操作,每1-3分鐘發(fā)起一個(gè)交易

場(chǎng)景真實(shí)模擬

需要編寫(xiě)比較復(fù)雜的腳本

能夠模擬更真實(shí)的場(chǎng)景(如二段式交易)

客戶端并發(fā)個(gè)數(shù)

支持模擬多個(gè)并發(fā)

能夠模擬更多的客戶端并發(fā)


3.3.2 測(cè)試策略

3.3.3 測(cè)試腳本分類(lèi)


腳本分類(lèi)

屬性

備注

客戶端加壓腳本

面向操作的腳本

 

客戶端加壓到后臺(tái)腳本

面向協(xié)議

 

前置加壓腳本

面向協(xié)議

需要更多的虛擬用戶(VU)

網(wǎng)銀界面加壓腳本

面向操作界面

需要更復(fù)雜的測(cè)試環(huán)境,通過(guò)界面操作,每1-3分鐘發(fā)起一個(gè)交易

網(wǎng)銀協(xié)議腳本

面向協(xié)議

能夠模擬更真實(shí)的場(chǎng)景(如二段式交易)

3.3.4 測(cè)試交易選取

3.3.5 測(cè)試數(shù)據(jù)選取
 壓力數(shù)據(jù)是按照的峰值時(shí)間段(如9點(diǎn)到10點(diǎn))的數(shù)據(jù)交易量來(lái)進(jìn)行模擬。

3.4 性能測(cè)試執(zhí)行
3.4.1 壓力產(chǎn)生模型
3.4.2 性能測(cè)試指標(biāo)
性能指標(biāo)的前提:交易成功率超過(guò)99.5%。

吞吐率:

并發(fā)數(shù):

平均響應(yīng)時(shí)間:

CPU占用率:

I/O:

數(shù)據(jù)庫(kù)(鎖、sql執(zhí)行時(shí)間等)數(shù)據(jù)庫(kù)是AS/400上的,還需要開(kāi)發(fā)專(zhuān)門(mén)的程序分析性能

軟件產(chǎn)品
澤眾軟件工具使用技術(shù)支持
電話:021-60725088
Email:sales@spasvo.com
QQ:1404189128
培訓(xùn)、產(chǎn)品購(gòu)買(mǎi)及試用授權(quán)等事宜
電話:021-60725088
QQ:1404189128
Email: sales@spasvo.com
軟件產(chǎn)品 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 用戶列表 | 網(wǎng)站地圖 | 友情鏈接
滬ICP備07036474 2003-2016 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd