從飛信案例看海量并發(fā)用戶系統(tǒng)性能測試
2010/03/08
海量并發(fā)用戶系統(tǒng)性能測試的重要性不用多說,對這類系統(tǒng)必須進(jìn)行嚴(yán)格的性能測試。類似飛信這樣的系統(tǒng),無論是用戶規(guī)模還是業(yè)務(wù)的復(fù)雜度,在國內(nèi)都屈指可數(shù)。自2006年開始的連續(xù)3年時間內(nèi),神州數(shù)碼信息服務(wù)集團(tuán)集成服務(wù)戰(zhàn)略本部從眾多重量級的專業(yè)技術(shù)團(tuán)隊(duì)中脫穎而出,為中國移動飛信系統(tǒng)提供了連續(xù)三期的性能測試服務(wù)。
一期:10萬用戶同時在線
飛信系統(tǒng)是中國移動推出的“綜合通信服務(wù)”,融合了語音、GPRS、短信等多種通信方式,實(shí)現(xiàn)了互聯(lián)網(wǎng)和移動網(wǎng)間的無縫通信服務(wù)。從2006年飛信推出第一個版本開始,其用戶發(fā)展速度之快之猛就大大超出了最初的預(yù)計。在上線后不到半年的時間內(nèi),飛信系統(tǒng)與網(wǎng)絡(luò)就經(jīng)歷了多次的擴(kuò)容升級,F(xiàn)有的系統(tǒng)架構(gòu)究竟能承載多少用戶、升級的空間到底有多大是中國移動對飛信系統(tǒng)最為關(guān)心的問題。因此,中國移動亟需對現(xiàn)有系統(tǒng)架構(gòu)進(jìn)行一次容量及可擴(kuò)展性的全面評估測試。
基于以上背景,中國移動啟動了飛信系統(tǒng)一期性能測試項(xiàng)目,目標(biāo)是驗(yàn)證現(xiàn)有生產(chǎn)系統(tǒng)的單POOL處理能力是否能支撐10萬用戶同時在線訪問,以及POOL內(nèi)可擴(kuò)展策略是否有效、POOL間擴(kuò)展策略是否有效以及GlobalService的最大處理能力等。從技術(shù)角度來說,當(dāng)時有三大難題擺在測試團(tuán)隊(duì)面前:
第一,用戶行為分析、系統(tǒng)數(shù)據(jù)分析難度大,業(yè)界當(dāng)時也沒有可參考的成熟業(yè)務(wù)模型,因此如何建立一個有效的盡可能接近真實(shí)的業(yè)務(wù)模型是該項(xiàng)目最大的難點(diǎn)之一;
第二,模擬并發(fā)規(guī)模過大,用戶要求實(shí)現(xiàn)10萬用戶的同時在線訪問,而現(xiàn)有的測試工具甚至無法實(shí)現(xiàn)兩萬用戶同時在線訪問,而且由于用戶系統(tǒng)采用了異步通信方式,模擬并發(fā)過程中如何保證系統(tǒng)的穩(wěn)定性也是一個高難度的課題;
第三,由于數(shù)據(jù)規(guī)模龐大,數(shù)據(jù)準(zhǔn)備亦成為當(dāng)時項(xiàng)目的一大難題。
經(jīng)第三方推薦,神州數(shù)碼信息服務(wù)集團(tuán)集成服務(wù)戰(zhàn)略本部質(zhì)量測試事業(yè)部的性能測試服務(wù)團(tuán)隊(duì)參與到了此項(xiàng)目中。事業(yè)部自創(chuàng)立之初,始終圍繞CIO關(guān)心的問題,設(shè)計提供一系列的服務(wù)。從IT部門自身的業(yè)務(wù)管理、IT治理結(jié)構(gòu)兩個方面全面支持CIO的重點(diǎn)工作,并提出以咨詢?yōu)橐龑?dǎo)、產(chǎn)品和解決方案為依托的全面質(zhì)量測試服務(wù)。200多名自有專業(yè)工程師,多年服務(wù)金融、電信及大型企業(yè)的IT系統(tǒng)建設(shè)及運(yùn)維經(jīng)驗(yàn),使我們成為業(yè)界惟一的完整測試中心解決方案提供商。
項(xiàng)目技術(shù)攻關(guān)的關(guān)鍵時期,正值春節(jié)臨近。除夕夜凌晨四點(diǎn),中國移動領(lǐng)導(dǎo)值班時發(fā)現(xiàn)神州數(shù)碼的工程師正在全神貫注地調(diào)試測試腳本。正是靠這樣刻苦鉆研的精神和團(tuán)隊(duì)的集體智慧,我們一舉攻克了10萬以上用戶同時在線訪問的模擬技術(shù),成為國內(nèi)首家掌握此項(xiàng)技術(shù)的團(tuán)隊(duì)。其他相關(guān)難題也先后被項(xiàng)目組一一攻克,項(xiàng)目如期順利完成。
二期:項(xiàng)目進(jìn)度空前緊張
第一期測試完成后,中國移動認(rèn)識到現(xiàn)有的生產(chǎn)系統(tǒng)架構(gòu)難以在可控制的成本下滿足用戶數(shù)量飛速增長的需求,開始尋找全新的系統(tǒng)架構(gòu)來替換現(xiàn)有系統(tǒng),最后鎖定了兩套不同的備選系統(tǒng)。移動希望確認(rèn)備選系統(tǒng)是否能滿足當(dāng)前及未來可能的性能需求,并進(jìn)行兩套系統(tǒng)之間的性能優(yōu)劣對比;谝黄诘膱A滿服務(wù),中國移動二期繼續(xù)選擇由神州數(shù)碼來完成這個項(xiàng)目。盡管有了一期的成功經(jīng)驗(yàn),二期項(xiàng)目依然有不少新的挑戰(zhàn):
- 模擬并發(fā)規(guī)模同樣非常大,要求實(shí)現(xiàn)10萬用戶的同時在線模擬,而且兩套系統(tǒng)的通信機(jī)制各不相同,需要同時開發(fā)兩套不同的測試腳本來分別模擬10萬用戶的在線訪問;
- 用戶模型構(gòu)建復(fù)雜,要準(zhǔn)備兩套不同的測試環(huán)境,數(shù)據(jù)準(zhǔn)備工作更大更復(fù)雜,而項(xiàng)目又要求在一個月內(nèi)完成測試任務(wù),時間非常緊張,因此腳本開發(fā)的難度不亞于第一期。
項(xiàng)目的挑戰(zhàn)很大,在項(xiàng)目實(shí)施過程中又由于某些原因致使計劃生變,需要提前半個月完成測試工作,在技術(shù)難度與時間進(jìn)度的雙重壓力下,神州數(shù)碼的工程師放棄了所有的周末,測試執(zhí)行期間每天都工作到深夜十二點(diǎn)甚至凌晨兩點(diǎn)以后,最終提前完成了測試工作。
三期:上百G數(shù)據(jù)加大測試難度
飛信項(xiàng)目第三期發(fā)生在新的系統(tǒng)替換現(xiàn)有生產(chǎn)系統(tǒng)的割接上線前,中國移動希望能對整個系統(tǒng)進(jìn)行一次全面的總體驗(yàn)收測試,以確認(rèn)系統(tǒng)上線后能正常運(yùn)轉(zhuǎn)并且能支撐未來半年的用戶增長。項(xiàng)目目標(biāo)涵蓋了手機(jī)客戶端的功能測試、協(xié)議測試以及容量測試三大部分,項(xiàng)目所面臨的挑戰(zhàn)遠(yuǎn)遠(yuǎn)超出了前兩期:
1.容量測試要求實(shí)現(xiàn)200萬用戶同時上線訪問的模擬,這種規(guī)模的容量測試在國內(nèi)是首次,在國際上也非常罕見,而且相對于前兩期,這一次的容量測試中包含的業(yè)務(wù)種類增加了數(shù)倍,且包含兩種不同協(xié)議,用戶交互過程更加復(fù)雜,腳本開發(fā)的總體技術(shù)難度極高;
2.容量測試中,海量的數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)監(jiān)控、數(shù)據(jù)分析工作,使得測試執(zhí)行過程的控制以及最終測試結(jié)果的分析非常復(fù)雜,尤其是性能監(jiān)控的原始數(shù)據(jù)量超過上百G;
3.大規(guī)模的協(xié)議驗(yàn)收測試,沒有可參考的成熟模式,而且在不到兩個月的時間內(nèi)要完成5種協(xié)議、近百種業(yè)務(wù)的協(xié)議測試,同時要求測試腳本具有通用性、易用性、可重用性,不僅有很高的技術(shù)門檻,而且在任務(wù)分解、團(tuán)結(jié)協(xié)作方面也提出了很高的要求。
在這樣的情況下,團(tuán)隊(duì)所有的工程師團(tuán)結(jié)努力,盡管期間測試需求變化較大,最終仍然按客戶的要求按時完成了所有任務(wù)。
三期飛信項(xiàng)目的目標(biāo)各不相同,都存在相當(dāng)?shù)募夹g(shù)難點(diǎn),其中諸如海量并發(fā)用戶同時在線訪問的模擬技術(shù)、大規(guī)模短時間內(nèi)的協(xié)議驗(yàn)收測試、上百G仿真業(yè)務(wù)數(shù)據(jù)的準(zhǔn)備與分析等一些技術(shù)難題的解決在國內(nèi)都非常罕見,部分技術(shù)難題更是獨(dú)此一家,神州數(shù)碼性能測試服務(wù)團(tuán)隊(duì)?wèi){借強(qiáng)大的技術(shù)實(shí)力和積極認(rèn)真的工作態(tài)度確保了項(xiàng)目的成功。
通信世界周刊
相關(guān)閱讀: