用例發(fā)起請(qǐng)求。
[004引(3)并發(fā)控制模塊:根據(jù)配置和監(jiān)控模塊提供的策略,初始化測(cè)試單元,控制測(cè)試 線程數(shù),控制測(cè)試線程增壓;
[0043] (4)遠(yuǎn)程監(jiān)控模塊;發(fā)起遠(yuǎn)程性能指標(biāo)監(jiān)控請(qǐng)求,并實(shí)現(xiàn)壓力策略算法;
[0044] (5)配置模塊;配置測(cè)試流程,時(shí)長(zhǎng),單步增壓線程數(shù)等,W及監(jiān)控指標(biāo)的閥值。
[0045] (6)消息中間件;實(shí)現(xiàn)測(cè)試客戶端與業(yè)務(wù)服務(wù)器之間的接口協(xié)議和通信功能。
[0046] web應(yīng)用服務(wù)器代理(被測(cè)系統(tǒng));
[0047] (1)性能監(jiān)控代理;
[0048] (2)業(yè)務(wù)系統(tǒng)軟件。
[0049] 基于W上設(shè)置的性能測(cè)試流程如圖3所示,包括:
[0050] 步驟1、根據(jù)配置初始化并啟動(dòng)壓力測(cè)試單元,初始化遠(yuǎn)程監(jiān)控模塊和性能監(jiān)控代 理;
[0051] 步驟2、并發(fā)控制模塊從初始線程數(shù)開(kāi)始,逐步增加,每次增加的間隔參見(jiàn)配置模 塊;
[0052] 步驟3、定時(shí)遠(yuǎn)程性能采集n次,根據(jù)采集指標(biāo)計(jì)算各性能指標(biāo)平均值(有限資源 的性能指標(biāo)歸一化為占比,且為體現(xiàn)主機(jī)性能的壓力情況,采用均方根平均值)。
[0053] 步驟4、根據(jù)壓力測(cè)試策略調(diào)整算法,計(jì)算一次增加的并發(fā)線程數(shù)。
[0054] 步驟5、并發(fā)控制模塊增加并發(fā)線程,加大對(duì)web應(yīng)用系統(tǒng)的壓力;
[00巧]步驟6、再次遠(yuǎn)程性能采集監(jiān)控,如果超過(guò)性能閥值,則根據(jù)策略計(jì)算需要終止的 測(cè)試線程;
[0056] 步驟7、重復(fù)步驟2-步驟6,不斷調(diào)整性能壓力,W找到系統(tǒng)壓力負(fù)載最大值。并 統(tǒng)計(jì)并發(fā)數(shù)、時(shí)延、成功率、遠(yuǎn)端主機(jī)各性能指標(biāo)。
[0057] 步驟8、測(cè)試結(jié)束,整理客戶端壓力測(cè)試統(tǒng)計(jì)結(jié)果,包括并發(fā)、時(shí)延、成功率,W及遠(yuǎn) 端性能監(jiān)控?cái)?shù)據(jù)。
[0058] 其中,壓力測(cè)試策略增壓的詳細(xì)算法如下:
[0059] 首先,配置壓力測(cè)試模擬用戶的各項(xiàng)初始值:
[0060] 初始測(cè)試線程數(shù)Thit和最大值!_、當(dāng)前測(cè)試線程數(shù)T、單步并發(fā)增長(zhǎng)配置T。、單個(gè) testthread一次執(zhí)行的case數(shù)C。、testt虹ead循環(huán)次數(shù)或持續(xù)時(shí)長(zhǎng)、
[0061] 然后,配置遠(yuǎn)程性能監(jiān)控指標(biāo)閥值,有限資源的性能指標(biāo)根據(jù)資源限制歸一化為 占比,例如:
[0062] CPU最高占用率P。胃"、業(yè)務(wù)線程數(shù)最高占比(web應(yīng)用線程/系統(tǒng)用戶線程最大值 *100%)PthreWmM、內(nèi)存使用最大占比(used_mem/tatle_mem) 、使用連接數(shù)占比(web應(yīng) 用端口連接數(shù)/用戶進(jìn)程文件數(shù)限制)Plinkm。,、網(wǎng)絡(luò)10使用量占比Pm。。。,、磁盤10使用量占 比Pdiomax。
[0063] 基于W上配置數(shù)值,具體算法如下:
[0064] 各性能指標(biāo)P的n次取值的均方根平均值計(jì)算方法為:
[0065]
【主權(quán)項(xiàng)】
1. 一種設(shè)備性能測(cè)試方法,其特征在于,包括: 測(cè)試設(shè)備定時(shí)采集被測(cè)試設(shè)備在模擬測(cè)試線程中的各項(xiàng)性能數(shù)據(jù); 所述測(cè)試設(shè)備根據(jù)所述各項(xiàng)性能數(shù)據(jù)確定當(dāng)前可增加的并發(fā)線程數(shù)量的最大值; 所述測(cè)試設(shè)備在所述最大值W及預(yù)設(shè)并發(fā)線程單步增加值之間選擇較小的一方作為 并發(fā)線程增量值,并根據(jù)所述并發(fā)線程增量值增加所述被測(cè)試設(shè)備當(dāng)前用于模擬的測(cè)試線 程; 所述測(cè)試設(shè)備采集所述被測(cè)試設(shè)備在模擬已增加的測(cè)試線程中的各項(xiàng)性能數(shù)據(jù),并判 斷所述各項(xiàng)性能數(shù)據(jù)是否超過(guò)預(yù)設(shè)的性能闊值; 若否,所述測(cè)試設(shè)備將測(cè)試線程的數(shù)量設(shè)置為預(yù)設(shè)初始值,并指示所述被測(cè)試設(shè)備對(duì) 所述測(cè)試線程進(jìn)行模擬。
2. 如權(quán)利要求1所述的方法,其特征在于,所述測(cè)試設(shè)備將測(cè)試線程的數(shù)量設(shè)置為預(yù) 設(shè)初始值并指示所述被測(cè)試設(shè)備對(duì)所述測(cè)試線程進(jìn)行模擬之后,還包括: 所述測(cè)試設(shè)備每隔預(yù)設(shè)的時(shí)間增加所述被測(cè)試設(shè)備當(dāng)前用于模擬的測(cè)試線程,每次增 加的測(cè)試線程的數(shù)量為所述預(yù)設(shè)并發(fā)線程單步增加值。
3.如權(quán)利要求1所述的方法,其特征在于, 若所述測(cè)試設(shè)備判斷所述被測(cè)試設(shè)備的各項(xiàng)性能數(shù)據(jù)超過(guò)預(yù)設(shè)的性能闊值,所述測(cè)試 設(shè)備將測(cè)試線程的數(shù)量設(shè)置為預(yù)設(shè)最大值,并指示所述被測(cè)試設(shè)備對(duì)所述測(cè)試線程進(jìn)行模 擬。
4.如權(quán)利要求1所述的方法,其特征在于,測(cè)試設(shè)備定時(shí)采集被測(cè)試設(shè)備在模擬測(cè)試 線程中的各項(xiàng)性能數(shù)據(jù)或所述測(cè)試設(shè)備采集所述被測(cè)試設(shè)備在模擬已增加的測(cè)試線程中 的各項(xiàng)性能數(shù)據(jù),具體為: 所述測(cè)試設(shè)備根據(jù)預(yù)設(shè)的采集次數(shù),連續(xù)采集所述被測(cè)試設(shè)備的各項(xiàng)性能數(shù)據(jù)并獲取 采集結(jié)果的均方根平均值,將所述均方根平均值作為所述各項(xiàng)性能數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,其特征在于,所述測(cè)試設(shè)備根據(jù)所述各項(xiàng)性能數(shù)據(jù)確定 當(dāng)前可增加的并發(fā)線程數(shù)量的最大值,具體為: 所述測(cè)試設(shè)備根據(jù)Twd=T* 確定與所述各項(xiàng)性能數(shù)對(duì)應(yīng)的最大可增線程 數(shù)估值Ldd,T為當(dāng)前測(cè)試線程數(shù)量,Pm。,為與所述各項(xiàng)性能數(shù)對(duì)應(yīng)的最大值,,為與所述 各項(xiàng)性能數(shù)對(duì)應(yīng)的均方根平均值; 所述測(cè)試設(shè)備將與所述各項(xiàng)性能數(shù)對(duì)應(yīng)的最大可增線程數(shù)估值中的最小值作為所述 被測(cè)試設(shè)備當(dāng)前可增加的并發(fā)線程數(shù)量的最大值。
6. -種設(shè)備性能測(cè)試裝置,其特征在于,包括: 采集模塊,用于定時(shí)采集被測(cè)試設(shè)備在模擬測(cè)試線程中的各項(xiàng)性能數(shù)據(jù); 確定模塊,用于根據(jù)所述各項(xiàng)性能數(shù)據(jù)確定當(dāng)前可增加的并發(fā)線程數(shù)量的最大值; 選擇模塊,用于在所述最大值W及預(yù)設(shè)并發(fā)線程單步增加值之間選擇較小的一方作為 并發(fā)線程增量值,并根據(jù)所述并發(fā)線程增量值增加所述被測(cè)試設(shè)備當(dāng)前用于模擬的測(cè)試線 程; 判斷模塊,用于采集所述被測(cè)試設(shè)備在模擬已增加的測(cè)試線程中的各項(xiàng)性能數(shù)據(jù),并 判斷所述各項(xiàng)性能數(shù)據(jù)是否超過(guò)預(yù)設(shè)的性能闊值; 若否,所述判斷模塊將測(cè)試線程的數(shù)量設(shè)置為預(yù)設(shè)初始值,并指示所述被測(cè)試設(shè)備對(duì) 所述測(cè)試線程進(jìn)行模擬。
7. 如權(quán)利要求6所述的裝置,其特征在于,還包括: 增量模塊,用于在所述判斷模塊將測(cè)試線程的數(shù)量設(shè)置為預(yù)設(shè)初始值并指示所述被測(cè) 試設(shè)備對(duì)所述測(cè)試線程進(jìn)行模擬之后,每隔預(yù)設(shè)的時(shí)間增加所述被測(cè)試設(shè)備當(dāng)前用于模擬 的測(cè)試線程,每次增加的測(cè)試線程的數(shù)量為所述預(yù)設(shè)并發(fā)線程單步增加值。
8. 如權(quán)利要求6所述的裝置,其特征在于, 所述判斷模塊,還用于在判斷所述被測(cè)試設(shè)備的各項(xiàng)性能數(shù)據(jù)超過(guò)預(yù)設(shè)的性能闊值 時(shí),將測(cè)試線程的數(shù)量設(shè)置為預(yù)設(shè)最大值,并指示所述被測(cè)試設(shè)備對(duì)所述測(cè)試線程進(jìn)行模 擬。
9. 如權(quán)利要求6所述的裝置,其特征在于,所述采集模塊或所述判斷模塊具體用于: 根據(jù)預(yù)設(shè)的采集次數(shù),連續(xù)采集所述被測(cè)試設(shè)備的各項(xiàng)性能數(shù)據(jù)并獲取采集結(jié)果的均 方根平均值,將所述均方根平均值作為所述各項(xiàng)性能數(shù)據(jù)。
10. 如權(quán)利要求9所述的裝置,其特征在于,所述確定模塊,具體用于: 根據(jù)Lm=T* (Pm"-Pnns)/Pnns確定與所述各項(xiàng)性能數(shù)對(duì)應(yīng)的最大可增線程數(shù)估值 為當(dāng)前測(cè)試線程數(shù)量,Pmai為與所述各項(xiàng)性能數(shù)對(duì)應(yīng)的最大值,為與所述各項(xiàng)性能數(shù)對(duì) 應(yīng)的均方根平均值,并將與所述各項(xiàng)性能數(shù)對(duì)應(yīng)的最大可增線程數(shù)估值中的最小值作為所 述被測(cè)試設(shè)備當(dāng)前可增加的并發(fā)線程數(shù)量的最大值。
【專利摘要】本發(fā)明公開(kāi)了一種設(shè)備性能測(cè)試方法,通過(guò)定時(shí)采集的被測(cè)試設(shè)備在模擬測(cè)試線程中的各項(xiàng)性能數(shù)據(jù)確定當(dāng)前可增加的并發(fā)線程數(shù)量的最大值,在最大值以及預(yù)設(shè)并發(fā)線程單步增加值之間選擇較小的一方來(lái)增加被測(cè)試設(shè)備當(dāng)前用于模擬的測(cè)試線程,并判斷被測(cè)試設(shè)備的各項(xiàng)性能數(shù)據(jù)是否超過(guò)預(yù)設(shè)的性能閾值。從而在使被測(cè)試設(shè)備不發(fā)生崩潰的前提下,實(shí)時(shí)調(diào)整被測(cè)試設(shè)備達(dá)到最高性能,進(jìn)而及時(shí)定位業(yè)務(wù)系統(tǒng)瓶頸,進(jìn)行系統(tǒng)優(yōu)化。
【IPC分類】H04L12-26, H04L12-24, H04L29-08
【公開(kāi)號(hào)】CN104717236
【申請(qǐng)?zhí)枴緾N201310676302
【發(fā)明人】趙軍
【申請(qǐng)人】中國(guó)移動(dòng)通信集團(tuán)公司
【公開(kāi)日】2015年6月17日
【申請(qǐng)日】2013年12月11日