【文章內(nèi)容簡介】
時) 任務(wù)A無故障運行的最大時間間隔(CPU小時) 測試結(jié)果分析: 對網(wǎng)絡(luò)性能的測試,如網(wǎng)絡(luò)流量、每秒采樣數(shù)、網(wǎng)絡(luò)延遲等。6測試完成準則系統(tǒng)滿足各項性能要求、能滿足實際使用情況并提供測試報告7任務(wù)與進度表8提交的文檔和報告XXXX系統(tǒng)性能測試方案XXXX系統(tǒng)性能測試報告XXXX系統(tǒng)性能測試腳本成功的 Web 應(yīng)用系統(tǒng)性能測試性能測試是 Web 應(yīng)用系統(tǒng)的一項重要質(zhì)量保證措施。在現(xiàn)實中,很多 Web 性能測試項目由于性能測試需求定義不合理或不明確,導致性能測試項目不能達到預期目標或進度超期。本文針對 Web 應(yīng)用系統(tǒng)的技術(shù)架構(gòu)和系統(tǒng)使用特點,探討如何有效實施性能測試過程,并重點介紹如何分析獲得合理的性能測試需求,最終對 Web 應(yīng)用系統(tǒng)性能進行科學、準確的評估。 1 引言 基于Web服務(wù)器的應(yīng)用系統(tǒng)由于提供瀏覽器界面而無須安裝,大大降低了系統(tǒng)部署和升級成本,得以普遍應(yīng)用。目前,很多企業(yè)的核心業(yè)務(wù)系統(tǒng)均是Web應(yīng)用,但當Web應(yīng)用的數(shù)據(jù)量和訪問用戶量日益增加,系統(tǒng)不得不面臨性能和可靠性方面的挑戰(zhàn)。因此,無論是Web應(yīng)用系統(tǒng)的開發(fā)商或最終用戶,都要求在上線前對系統(tǒng)進行性能,室驗實TI國中科學評價系統(tǒng)的性能,從而降低系統(tǒng)上線后的性能風險。 在很多性能測試項目中,由于不能合理定義系統(tǒng)的性能測試需求,不能建立和真實環(huán)境相符的負載模型,不能科學分析性能測試結(jié)果,導致性能測試項目持續(xù)時間很長或不能真正評價系統(tǒng)性能并提出性能改進措施。 本文在總結(jié)許多Web應(yīng)用系統(tǒng)性能測試實踐經(jīng)驗和教訓的基礎(chǔ)上,從與性能測試工具無關(guān)的角度介紹Web應(yīng)用系統(tǒng)性能測試的方法和實施過程,以及如何定義合理的性能測試需求。 術(shù)語定義 性能測試:通過模擬大量瀏覽器客戶端同時訪問Web服務(wù)器,獲得系統(tǒng)的性能數(shù)據(jù)。 虛擬用戶:模擬瀏覽器向Web服務(wù)器發(fā)送請求并接收響應(yīng)的一個進程或線程。 響應(yīng)時間:瀏覽器向Web服務(wù)器提交一個請求到收到響應(yīng)之間的間隔時間。 思考時間:瀏覽器在收到響應(yīng)后到提交下一個請求之間的間隔時間。 請求成功率:Web服務(wù)器正確處理的請求數(shù)量和接收到的請求數(shù)量的比。 吞吐量:單位時間內(nèi)Web服務(wù)器成功處理的HTTP頁面或HTTP請求數(shù)量。 在線用戶:用戶通過瀏覽器訪問登錄Web應(yīng)用系統(tǒng)后,并不退出該應(yīng)用系統(tǒng)。通常一個Web應(yīng)用服務(wù)器的在線用戶對應(yīng)Web應(yīng)用服務(wù)器的一個Session。 并發(fā)用戶數(shù):Web服務(wù)器在一段時間內(nèi)為處理瀏覽器請求而建立的HTTP連接數(shù)或生成的處理線程數(shù)。當所有在線用戶發(fā)送HTTP請求的思考時間為零時,Web服務(wù)器的并發(fā)用戶數(shù)等于在線用戶數(shù)。性能分析名詞解釋——LoadRunnerTransactions(用戶事務(wù)分析)用戶事務(wù)分析是站在用戶角度進行的基礎(chǔ)性能分析。Transation Sunmmary(事務(wù)綜述)對事務(wù)進行綜合分析是性能分析的第一步,通過分析測試時間內(nèi)用戶事務(wù)的成功與失敗情況,可以直接判斷出系統(tǒng)是否運行正常。Average Transaciton Response Time(事務(wù)平均響應(yīng)時間)“事務(wù)平均響應(yīng)時間”顯示的是測試場景運行期間的每一秒內(nèi)事務(wù)執(zhí)行所用的平均時間,通過它可以分析測試場景運行期間應(yīng)用系統(tǒng)的性能走向。例:隨著測試時間的變化,系統(tǒng)處理事務(wù)的速度開始逐漸變慢,這說明應(yīng)用系統(tǒng)隨著投產(chǎn)時間的變化,整體性能將會有下降的趨勢。Transactions per Second(每秒通過事務(wù)數(shù)/TPS)“每秒通過事務(wù)數(shù)/TPS”顯示在場景運行的每一秒鐘,每個事務(wù)通過、失敗以及停止的數(shù)量,使考查系統(tǒng)性能的一個重要參數(shù)。通過它可以確定系統(tǒng)在任何給定時刻的時間事務(wù)負載。分析TPS主要是看曲線的性能走向。將它與平均事務(wù)響應(yīng)時間進行對比,可以分析事務(wù)數(shù)目對執(zhí)行時間的影響。例:當壓力加大時,點擊率/TPS曲線如果變化緩慢或者有平坦的趨勢,很有可能是服務(wù)器開始出現(xiàn)瓶頸。Total Transactions per Second(每秒通過事務(wù)總數(shù))“每秒通過事務(wù)總數(shù)”顯示在場景運行時,在每一秒內(nèi)通過的事務(wù)總數(shù)、失敗的事務(wù)總署以及停止的事務(wù)總數(shù)。Transaction Performance Sunmmary(事務(wù)性能摘要)“事務(wù)性能摘要”顯示方案中所有事務(wù)的最小、最大和平均執(zhí)行時間,可以直接判斷響應(yīng)時間是否符合用戶的要求。重點關(guān)注事務(wù)的平均和最大執(zhí)行時間,如果其范圍不在用戶可以接受的時間范圍內(nèi),需要進行原因分析。Transaction Response Time Under Load(事務(wù)響應(yīng)時間與負載)“事務(wù)響應(yīng)時間與負載”是“正在運行的虛擬用戶”圖和“平均響應(yīng)事務(wù)時間”圖的組合,通過它可以看出在任一時間點事務(wù)響應(yīng)時間與用戶數(shù)目的關(guān)系,從而掌握系統(tǒng)在用戶并發(fā)方面的性能數(shù)據(jù),為擴展用戶系統(tǒng)提供參考。此圖可以查看虛擬用戶負載對執(zhí)行時間的總體影響,對分析具有漸變負載的測試場景比較有用。Transaction Response Time(Percentile)(事務(wù)響應(yīng)時間(百分比))“事務(wù)響應(yīng)時間(百分比)”是根據(jù)測試結(jié)果進行分析而得到的綜合分析圖,也就是工具通過一些統(tǒng)計分析方法間接得到的圖表。通過它可以分析在給定事務(wù)響應(yīng)時間范圍內(nèi)能執(zhí)行的事務(wù)百分比。Transaction Response Time(Distribution)(事務(wù)響應(yīng)時間(分布))“事務(wù)響應(yīng)時間(分布)”顯示在場景運行過程中,事務(wù)執(zhí)行所用時間的分布,通過它可以了解測試過程中不同響應(yīng)時間的事務(wù)數(shù)量。如果系統(tǒng)預先定義了相關(guān)事務(wù)可以接受的最小和最大事務(wù)響應(yīng)時間,則可以使用此圖確定服務(wù)器性能是否在可以接受的范圍內(nèi)。Web Resources(Web資源分析)Web資源分析是從服務(wù)器入手對Web服務(wù)器的性能分析。Hits per Second(每秒點擊次數(shù))“每秒點擊次數(shù)”,即使運行場景過程中虛擬用戶每秒向Web服務(wù)器提交的HTTP請求數(shù)。通過它可以評估虛擬用戶產(chǎn)生的負載量,如將其和“平均事務(wù)響應(yīng)時間”圖比較,可以查看點擊次數(shù)對事務(wù)性能產(chǎn)生的影響。通過對查看“每秒點擊次數(shù)”,可以判斷系統(tǒng)是否穩(wěn)定。系統(tǒng)點擊率下降通常表明服務(wù)器的響應(yīng)速度在變慢,需進一步分析,發(fā)現(xiàn)系統(tǒng)瓶頸所在。Throughput(吞吐率)“吞吐率”顯示的是場景運行過程中服務(wù)器的每秒的吞吐量。其度量單位是字節(jié),表示虛擬用在任何給定的每一秒從服務(wù)器獲得的數(shù)據(jù)量??梢砸罁?jù)服務(wù)器的吞吐量來評估虛擬用戶產(chǎn)生的負載量,以及看出服務(wù)器在流量方面的處理能力以及是否存在瓶頸?!巴掏侣省眻D和“點擊率”圖的區(qū)別:“吞吐率”圖,是每秒服務(wù)器處理的HTTP申請數(shù)?!包c擊率”圖,是客戶端每秒從服務(wù)器獲得的總數(shù)據(jù)量。HTTP Status Code Summary(HTTP狀態(tài)代碼概要)“HTTP狀態(tài)代碼概要”顯示場景或會話步驟過程中從Web服務(wù)器返回的HTTP狀態(tài)代碼數(shù),該圖按照代碼分組。HTTP狀態(tài)代碼表示HTTP請求的狀態(tài)。HTTP Responses per Second(每秒HTTP響應(yīng)數(shù))“每秒HTTP響應(yīng)數(shù)”是顯示運行場景過程中每秒從Web服務(wù)器返回的不同HTTP狀態(tài)代碼的數(shù)量,還能返回其它各類狀態(tài)碼的信息,通過分析狀態(tài)碼,可以判斷服務(wù)器在壓力下的運行情況,也可以通過對圖中顯示的結(jié)果進行分組,進而定位生成錯誤的代碼腳本。Pages Downloader per Second(每秒下載頁面數(shù))“每秒下載頁面數(shù)”顯示場景或會話步驟運行的每一秒內(nèi)從服務(wù)器下載的網(wǎng)頁數(shù)。使用此圖可依據(jù)下載的頁數(shù)來計算Vuser生成的負載量。和吞吐量圖一樣,每秒下載頁面數(shù)圖標是Vuser在給定的任一秒內(nèi)從服務(wù)器接收到的數(shù)據(jù)量。但是吞吐量考慮的各個資源極其大小(例,每個GIF文件的大小、每個網(wǎng)頁的大