測試對象
系統(tǒng)結(jié)構(gòu)
測試指標
1、響應(yīng)能力:
典型應(yīng)用的響應(yīng)時間
服務(wù)器的CPU、Memory使用情況
2、負載能力:
系統(tǒng)支持的最佳并發(fā)數(shù)
系統(tǒng)支持的最大并發(fā)數(shù)
系統(tǒng)環(huán)境
測試應(yīng)用服務(wù)器配置:
應(yīng)用服務(wù)器類型 | IP | CPU | OS | Memory | Storage |
Tomcat5.0 | 192.168.100.96 | Intel(R) Core(TM) i7-2600 CPU @3.4GHz 3.39GHz | Windows Server 2003 | 8G | 1TB |
測試數(shù)據(jù)庫服務(wù)器配置:
數(shù)據(jù)庫類型 | IP | CPU | OS | Memory | Storage |
Oracle10g | 192.168.100.97 | ntel(R) Core(TM) i7-2600 CPU @3.4GHz 3.39GHz | Windows Server 2003 | 8G | 1TB |
測試工具
Mercury LoadRunner 8.1+jprofiler
Loadrunner是一種預(yù)測系統(tǒng)行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題,LoadRunner能夠?qū)φ麄€企業(yè)框架進行測試。通過使用LoadRunner,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。LoadRunner是一種適用于各種體系架構(gòu)的自動負載測試工具,它能預(yù)測系統(tǒng)行為并優(yōu)化系統(tǒng)性能。
Jprofiler工具主要用于檢查和跟蹤系統(tǒng)(僅限JAVA開發(fā))的性能。Jprofiler可以通過時時的監(jiān)控系統(tǒng)的內(nèi)存使用情況,隨時監(jiān)控垃圾回收,線程運行狀態(tài)等手段,從而很好的監(jiān)視JVM運行情況及性能。Jprofiler直覺式的GUI讓你可以找到性能瓶頸、抓出內(nèi)存漏失
模擬圖如下:
測試基礎(chǔ)數(shù)據(jù)說明
為了能夠測試在并發(fā)及大數(shù)據(jù)量下的性能表現(xiàn),準備了如下測試數(shù)據(jù):
表名稱:CROSS1M (數(shù)據(jù)記錄數(shù):1萬條) | |||
名稱 | 類型 | 是否可空 | 是否主鍵 |
NUM | NUMBER | NO | YES |
ID | VARCHAR2(10) | NO | NO |
NAME | VARCHAR2(20) | NO | NO |
SEX | NUMBER | NO | NO |
SALARY | NUMBER | NO | NO |
測試指標
1、響應(yīng)時間
2、負載
以下測試過程都分為四個環(huán)節(jié)分析指標的數(shù)值,第一:總體性能概要;第二:報表展示時間;第三:CPU利用率;第四:事務(wù)處理(針對并發(fā))。
測試計劃及方案
測試場景設(shè)計
在企業(yè)的實際生產(chǎn)環(huán)境中,大數(shù)據(jù)量非常常見。數(shù)據(jù)量過大,往往導(dǎo)致運算速度非常慢,客戶端等待時間過長,甚至導(dǎo)致服務(wù)器內(nèi)存溢出等等現(xiàn)象。比如在銀行、稅務(wù)、商業(yè)等領(lǐng)域都有包含大數(shù)據(jù)量的報表。在木桶原理的作用下,這些大數(shù)據(jù)量的報表通常都是業(yè)務(wù)系統(tǒng)的瓶頸,決定著一個業(yè)務(wù)系統(tǒng)的成功與失敗。通過測試大數(shù)據(jù)量的報表,可以在更早的評估出一個報表工具是否適合將來實際的生產(chǎn)環(huán)境。
那么,從性能方面,要解決的問題包括以下兩個層面場景,行式引擎使用可以很大程度上加快報表訪問速率,使得在報表展現(xiàn)更加人性化。
單個用戶,運算一張報表的性能
4.1 普通列表展示結(jié)果
4.1.1 1萬行數(shù)據(jù)展示結(jié)果
4.1.1.1 未使用行式引擎前
1)總體性能測試情況概要

2)報表展現(xiàn)時間

1w行數(shù)據(jù)列表展示未使用行式引擎的響應(yīng)時間是2.379s
3)系統(tǒng)資源消耗

內(nèi)存消耗為41.01M
4.1.1.2 采用行式引擎后
1)總體性能測試情況概要

2)報表展現(xiàn)時間

報表展示時間為2.327s
3)內(nèi)存消耗

內(nèi)存消耗為45.15M
4.1.2 5萬行數(shù)據(jù)展示結(jié)果
未使用行式引擎 | 引用行式引擎 | ||
響應(yīng)時間 | 內(nèi)存消耗 | 響應(yīng)時間 | 內(nèi)存消耗 |
5.303S | 107.8M | 2.416S | 42.76M |
4.1.3 10萬行數(shù)據(jù)展示結(jié)果
未使用行式引擎 | 引用行式引擎 | ||
響應(yīng)時間 | 內(nèi)存消耗 | 響應(yīng)時間 | 內(nèi)存消耗 |
8.98S | 156.1M | 2.344S | 41.80M |
通過數(shù)據(jù)量對比,列表展示引用行式引擎后性能大幅度提高,數(shù)據(jù)量越大,性能對比更明顯。
4.1.4 RQ測試結(jié)果
數(shù)據(jù)量 | 普通報表 | 行式報表 | ||
響應(yīng)時間 | 內(nèi)存消耗 | 響應(yīng)時間 | 內(nèi)存消耗 | |
1w | 2.615S | 32.89M | 2.418S | 18.3M |
5w | 7.775S | 168.6M | 7.186S | 61.5M |
10w | 14.675S | 327.9M | 13.413S | 101.7M |
4.1.5 對比報告
經(jīng)對比,
普通列表情況下,在同等數(shù)據(jù)量時,當(dāng)FineReport報表未啟用行式引擎時,報表展示的響應(yīng)速度比潤乾報表快30%,數(shù)據(jù)量越大對比越明顯。
當(dāng)FineReport報表啟用行式引擎時,10w數(shù)據(jù)量的情況下,F(xiàn)ineReport報表的響應(yīng)速度比潤乾報表快80%,性能大大優(yōu)于潤乾報表。
總體而言,普通列表展示的性能,F(xiàn)ineReport報表大大優(yōu)于潤乾報表。
了解Java報表工具就從這里開始