1. 概述
1.1. 測試目的
CRM系統性能測試是針對系統並發處理能力、交易響應時間等性能指標所進行的驗證性測試。目的是盡可能地模擬生產環境的前提下,實現以下目標:
- 獲取上線版本測試需求在當前生產環境下的單交易負載指標;
- 獲取系統在當前測試環境下可支撐多少並發用戶的數量;
- 獲取系統在峰值的80%壓力下穩定運行時系統的表現,重點關注JVM使用表現;
1.2. 測試地點
本次CRM非功能測試是在江蘇興化農商行CRM項目組執行測試。
2. 測試范圍及方法
2.1測試性能指標范圍概述
CRM的性能測試在多用戶登錄並發下的性能指標,主要包括:
1. 事務(測試對象的)的平均響應時間;
2. 各服務器(應用、數據庫)的CPU利用率,內存、磁盤I/O使用情況;
3. TPS:反映CRM系統處理能力;(服務器對當前錄制的事務的處理速度快慢 Transactions Per Second也就是事務數/ 秒,一個事務指一個客戶機向服務器發送請求,然后服務器做出反應的過程。)
4. 交易成功率。
2.2 非功能測試指標標准
指標項 |
指標值 |
備注 |
系統並發用戶數 |
>=100 |
混合場景並發 |
交易成功率 |
>=98% |
|
TPS處理能力 |
>=2/秒 |
|
平均響應時間 |
<=10s |
|
服務器資源利用率 |
CPU利用率不超過75%,內存利用率不超過80%、磁盤I/O、Network正常。 |
|
WAS服務器線程數 |
不存在排隊與等待現象。 |
|
JVM |
沒有泄露現象能正常回收內存 |
|
2.3非功能測試場景設計
2.3.1單交易測試業務場景確定
簡單解釋:單個交易場景壓力測試,並發50個用戶,執行10分鍾的交易操作,獲得交易的響應時間和交易成功率數據是否符合性能指標要求。
測試目的:這種測試是為了檢查應用程序是否存在代碼上的性能問題(包括內存泄漏、連接池不足等問題)。
交易名稱 |
交易路徑 |
CRM系統並發多用戶登錄 |
登錄至用戶首頁 |
客戶管理 |
對公客戶視圖 |
客戶管理 |
對私客戶視圖 |
客戶資源管理 |
客戶分配 |
客戶管理 |
客戶群管理-點擊客戶群管理 |
客戶管理 |
集團客戶管理-客戶管理集團視圖 |
客戶管理 |
點擊集團客戶管理 |
客戶管理 |
重點客戶管理 |
客戶經理管理 |
客戶經理業務全景視圖 |
首頁 |
客戶名稱查詢 |
首頁 |
證件號碼查詢 |
首頁 |
產品名稱查詢 |
2.4測試方法簡要描述
在CRM系統應用端采用LoadRunner HTTP協議模擬真實的多用戶操作,發起登錄交易,模擬真實壓力。
本次測試采用HP公司的LoadRunner作為壓力發起的工具。版本為LR9.5。
LoadRunner是一種預測系統行為和性能的工業標准級負載測試工具。通過模擬虛擬用戶實施並發負載及實時性能監測的方式來確認和查找問題。LoadRunner通過模擬實際用戶的操作行為和實行實時性能監測,來幫助用戶更快的查找和發現問題。
3. 測試環境
3.1. 測試環境介紹
- 壓力發起機:(IP:66.235.97.85)
- DB2和WAS安裝在同一台應用服務器:(IP:66.235.97.52)
3.2. 測試環境機器配置表
主 機 |
數量 |
型號 |
資 源 |
操作系統 |
CRM應用服務器(WAS) |
1 |
IBM X3850 |
8C8G |
LINUX |
CRM數據庫服務器(DB2) |
1 |
IBM X3850 |
8C8G |
LINUX |
Loadrunner 控制器 |
1 |
PC |
2C4G |
WindowsXP |
磁盤 |
1 |
|
|
未用磁盤空間 |
4. 項目時間表
任務 |
負責人 |
工期(天) |
開始時間 |
結束時間 |
5. 壓力測試通過標准
系統平均響應時間通過標准如下:
- 單個用戶迭代運行100次,平均響應時間小於2秒
- 10個並發 平均響應時間小於3秒
- 20個並發 平均響應時間小於5秒
- 50個並發 平均響應時間小於8秒
- 100個並發 平均響應時間小於10秒
系統資源占用情況通過標准:
- CPU占用<=75%,內存占用<=80%,
- 交易成功率>=99%
- TPS>=2筆/秒
5.1. 單個場景測試
5.1.1. 單交易負載測試結果(50用戶並發)
交易場景名稱 |
交易步驟 |
平均響應時間 |
CPU占用 |
內存占用 |
交易成功率 |
CRM系統多用戶並發登錄 |
登錄至用戶首頁 |
6.667 |
10% |
33% |
100% |
客戶管理 |
對公客戶視圖 |
1.912 |
9% |
32% |
100% |
客戶管理 |
對私客戶視圖 |
4.056 |
11% |
32% |
100% |
客戶資源管理 |
客戶分配 |
7.541 |
28% |
33% |
100% |
客戶管理 |
客戶群管理-點擊客戶群管理 |
6.459 |
28% |
32% |
100% |
客戶管理 |
點擊集團客戶管理 |
5.605 |
4% |
35 |
100% |
客戶管理 |
點擊普通客戶群視圖 |
7.347 |
22% |
34% |
100% |
客戶管理 |
點擊重點客戶管理 |
7.980 |
13% |
34% |
100% |
客戶管理 |
點擊客戶視圖 |
5.456 |
13% |
34% |
100% |
客戶管理 |
點擊客戶概覽信息 |
4.457 |
13% |
34% |
100% |
客戶經理管理 |
客戶經理業務全景視圖(包含3個頁面場景,每個場景平均7S) |
22.115 |
15% |
33% |
100% |
首頁 |
客戶名稱查詢 |
6.887 |
8% |
33% |
100% |
首頁 |
證件號碼查詢 |
3.668 |
15% |
33% |
100% |
首頁 |
產品名稱查詢 |
7.298 |
7% |
33% |
100% |
測試結果分析:
經過50個用戶並發測試,CRM系統的主要場景平均響應時間完全滿足當初系統設計的要求(50個用戶並發,平均響應時間小於8S)。
5.2. 混合場景負載測試
混合場景策略:將所有的模塊場景組合一起同時運行,完全模擬用戶的真實情況進行壓力測試,看看系統最大支持多少用戶的並發,達到多少用戶並發服務器性能開始下降。
5.2.1. 混合場景測試結果
交易場景平均響應時間如下:
1個用戶,10個用戶,20個用戶,50個用戶,100個用戶並發運行12小時,各場景平均響應時間的測試結果如下:
交易場景名稱 |
1個用戶平均響應時間(S) |
10個用戶平均響應時間(S) |
20個用戶平均響應時間(S) |
50個用戶平均響應時間(S) |
100個用戶平均響應時間(S) |
首頁 |
0.367 |
1.38 |
3.369 |
6.532 |
11.083 |
客戶概覽信息 |
1 |
1.978 |
3.856 |
5.432 |
10.532 |
客戶群管理 |
0.541 |
1.093 |
3.857 |
8.523 |
10.038 |
營銷團隊維護 |
0.193 |
0.699 |
1.291 |
4.821 |
9.762 |
客戶群管理 |
0.183 |
0.628 |
1.188 |
4.58 |
9.744 |
客戶基礎信息 |
0.246 |
0.796 |
1.906 |
4.193 |
9.675 |
用戶管理 |
0.181 |
0.619 |
1.101 |
4.535 |
9.489 |
客戶價值管理 |
0.954 |
1.778 |
4.024 |
7.798 |
9.452 |
對私客戶視圖 |
1.561 |
1.986 |
4.08 |
7.682 |
9.375 |
客戶經理全景視圖 |
0.691 |
1.869 |
4.534 |
6.76 |
9.358 |
我的營銷活動 |
0.97 |
1.959 |
3.789 |
6.786 |
9.232 |
客戶概覽 |
0.239 |
0.789 |
1.858 |
4.879 |
9.164 |
營銷商機創建 |
0.253 |
0.838 |
1.907 |
5.012 |
9.082 |
外部數據導入 |
0.199 |
0.701 |
1.38 |
5.395 |
9.028 |
客戶查詢 |
0.539 |
1.485 |
3.749 |
7.998 |
8.998 |
登錄 |
1.328 |
1.532 |
4.034 |
7.238 |
8.954 |
營銷活動創建 |
0.181 |
0.609 |
1.094 |
4.433 |
8.835 |
客戶名稱查詢 |
0.531 |
1.485 |
4.987 |
6.768 |
8.642 |
客戶資源管理 |
0.841 |
1.123 |
3.135 |
7.63 |
8.64 |
重點客戶管理 |
0.222 |
0.753 |
1.58 |
4.982 |
8.623 |
日志管理 |
0.877 |
1.523 |
3.084 |
6.762 |
8.541 |
營銷產品設置 |
0.285 |
1.004 |
2.051 |
5.672 |
8.532 |
客戶流失預警 |
0.276 |
0.936 |
2.022 |
5.176 |
8.532 |
營銷活動審批 |
0.185 |
0.647 |
1.232 |
4.768 |
8.532 |
商機銷售漏斗 |
0.18 |
0.609 |
1.084 |
4.362 |
8.394 |
重點客戶管理 |
0.203 |
0.728 |
1.391 |
4.272 |
8.186 |
我的營銷商機 |
0.267 |
0.914 |
1.922 |
5.493 |
8.129 |
客戶綜合評級 |
0.315 |
1.147 |
2.35 |
5.078 |
8.091 |
快速查詢 |
0.221 |
0.751 |
1.428 |
4.621 |
8.072 |
客戶分配 |
0.753 |
1.986 |
4.987 |
6.989 |
7.987 |
客戶忠誠度 |
0.35 |
1.343 |
3.048 |
7.038 |
7.98 |
集團客戶管理 |
0.234 |
0.759 |
1.62 |
4.325 |
7.867 |
客戶主觀評級 |
0.327 |
1.251 |
2.447 |
4.526 |
7.452 |
客戶風險評估 |
0.18 |
0.6 |
0.984 |
3.327 |
7.389 |
客戶積分管理 |
0.168 |
0.589 |
0.87 |
3.845 |
7.02 |
客戶移交 |
0.311 |
1.105 |
2.121 |
4.98 |
6.769 |
營銷商機審批 |
0.163 |
0.584 |
0.85 |
3.59 |
6.759 |
菜單項管理 |
0.346 |
1.298 |
2.685 |
5.436 |
6.598 |
布局設定 |
0.234 |
0.77 |
1.841 |
4.574 |
6.538 |
客戶貢獻度 |
0.159 |
0.582 |
0.838 |
3.519 |
6.439 |
客戶經理信息查詢 |
0.157 |
0.577 |
0.822 |
3.514 |
6.135 |
客戶關聯信息 |
0.154 |
0.562 |
0.814 |
3.444 |
5.995 |
客戶經理業績分析 |
0.15 |
0.558 |
0.797 |
3.435 |
5.685 |
客戶視圖 |
0.145 |
0.544 |
0.745 |
3.316 |
5.651 |
報表授權 |
0.143 |
0.518 |
0.743 |
3.298 |
5.453 |
客戶生命周期 |
0.141 |
0.508 |
0.705 |
3.05 |
5.413 |
客戶關懷管理 |
0.133 |
0.506 |
0.678 |
2.987 |
5.404 |
角色功能授權 |
0.133 |
0.5 |
0.669 |
2.879 |
5.342 |
客戶概覽信息 |
0.13 |
0.482 |
0.661 |
2.876 |
4.893 |
客戶財務信息 |
0.129 |
0.479 |
0.655 |
2.687 |
4.836 |
信息提醒管理 |
0.123 |
0.423 |
0.629 |
2.427 |
4.191 |
客戶退回 |
0.12 |
0.42 |
0.625 |
2.412 |
4.147 |
公告信息 |
0.12 |
0.418 |
0.606 |
2.365 |
4.145 |
工作日歷 |
0.118 |
0.418 |
0.597 |
2.327 |
4.132 |
營銷任務制定 |
0.114 |
0.404 |
0.586 |
2.284 |
4.06 |
數據字典管理 |
0.112 |
0.401 |
0.574 |
2.268 |
3.965 |
客戶合並 |
0.107 |
0.399 |
0.571 |
2.258 |
3.794 |
通訊推送管理 |
0.105 |
0.386 |
0.547 |
2.244 |
3.501 |
報表查詢 |
0.104 |
0.381 |
0.538 |
2.149 |
3.234 |
客戶事件提醒 |
0.103 |
0.368 |
0.53 |
2.05 |
3.231 |
客戶投訴管理 |
0.103 |
0.363 |
0.515 |
2.05 |
2.985 |
營銷綜合統計 |
0.101 |
0.353 |
0.507 |
2.005 |
2.876 |
客戶管理菜單 |
0.1 |
0.353 |
0.506 |
2.004 |
2.861 |
營銷產品管理查詢 |
0.099 |
0.351 |
0.505 |
1.981 |
2.858 |
角色管理 |
0.097 |
0.347 |
0.497 |
1.922 |
2.838 |
指標管理 |
0.096 |
0.345 |
0.484 |
1.898 |
2.814 |
客戶認領 |
0.089 |
0.341 |
0.484 |
1.828 |
2.807 |
客戶管理 |
0.089 |
0.34 |
0.475 |
1.786 |
2.778 |
營銷計划管理 |
0.089 |
0.33 |
0.437 |
1.777 |
2.297 |
風險客戶管理 |
0.088 |
0.33 |
0.435 |
1.708 |
2.257 |
陽光信貸客戶管理 |
0.086 |
0.33 |
0.433 |
1.7 |
2.22 |
客戶關系圖 |
0.084 |
0.328 |
0.416 |
1.653 |
2.197 |
任務管理 |
0.084 |
0.325 |
0.4 |
1.587 |
2.172 |
產品助手查詢 |
0.08 |
0.315 |
0.383 |
1.551 |
2.044 |
片區管理 |
0.08 |
0.299 |
0.382 |
1.54 |
2.04 |
機構匯總 |
0.079 |
0.296 |
0.379 |
1.538 |
1.953 |
營銷活動統計 |
0.077 |
0.293 |
0.378 |
1.457 |
1.7 |
部門管理 |
0.072 |
0.287 |
0.372 |
1.349 |
1.485 |
個人匯總 |
0.071 |
0.287 |
0.353 |
1.327 |
1.441 |
渠道信息管理 |
0.071 |
0.286 |
0.348 |
1.295 |
1.346 |
知識庫 |
0.071 |
0.276 |
0.345 |
1.268 |
1.136 |
客戶產品導入 |
0.07 |
0.27 |
0.343 |
1.243 |
1.134 |
稅務數據導入 |
0.069 |
0.238 |
0.331 |
1.177 |
0.705 |
營銷活動跟蹤 |
0.069 |
0.237 |
0.329 |
1.16 |
0.615 |
報表配置 |
0.067 |
0.221 |
0.322 |
1.084 |
0.555 |
電費數據導入 |
0.067 |
0.217 |
0.322 |
0.927 |
0.547 |
營銷模板管理 |
0.066 |
0.21 |
0.319 |
0.908 |
0.518 |
在線用戶監控 |
0.063 |
0.208 |
0.299 |
0.873 |
0.484 |
水費數據導入 |
0.063 |
0.196 |
0.295 |
0.749 |
0.467 |
潛在客戶管理 |
0.054 |
0.158 |
0.292 |
0.692 |
0.415 |
操作日志 |
0.05 |
0.157 |
0.28 |
0.669 |
0.404 |
機構管理 |
0.049 |
0.155 |
0.241 |
0.505 |
0.389 |
系統管理 |
0.044 |
0.124 |
0.233 |
0.413 |
0.349 |
金融工具箱 |
0.038 |
0.113 |
0.14 |
0.36 |
0.348 |
客戶視圖展示 |
0.016 |
0.032 |
0.028 |
0.099 |
0.121 |
結果分析:
1個用戶,10個用戶,20個用戶,50個用戶,100個用戶並發下,大部分事務的響應時間都在性能測試標准之內,並且壓力過程中沒有失敗的事務,也未發現JVM泄漏、連接池不足等問題,基本上達到了需求要求的性能指標。
交易場景資源使用情況如下:
1個用戶,10個用戶,20個用戶,50個用戶,100個用戶並發運行12小時,各場景資源使用情況和TPS,交易成功率的測試結果如下:
並發用戶數量 |
TPS |
交易成功率 |
CPU占用 |
MEM占用 |
1 |
1.2 |
100% |
2% |
18% |
10 |
2.8 |
100% |
5% |
22% |
20 |
3.1 |
100% |
6% |
25% |
50 |
3.85 |
100% |
6% |
30% |
100 |
4.6 |
99.9% |
15% |
33% |
結果分析:
通過以上數據分析,TPS,交易成功率,資源使用情況都符合性能指標要求。基本上達到了需求要求的性能指標。運行過程中沒有發現內存泄漏、連建池不足等問題。
5.3. 穩定性測試
主要考察系統在一定的負載情況下,系統是否一直正常運行(24小時),系統是否中途會宕機或者內存泄漏的現象。
並發100個用戶CRM所有主要場景混合壓力測試,運行24小時,最終結果正常,沒有發現內存泄漏和服務器死機現象,CPU使用,內存占用使用都在正常范圍內。
6. 優化過程描述
經過3輪的穩定性測試,通過穩定性測試發現並解決問題如下:
1、 問題描述:部分場景響應時間慢
解決方案:通過增加數據庫索引、重寫部分前台SQL;
2、 問題描述:並發10個用戶運行5分鍾就連建池不足
解決方案:調整WAS相關參數,解決代碼中連建池未釋放缺陷;
3、 問題描述:並發50個用戶運行20分鍾就內存泄漏
解決方案:分析HEAPDUMP文件,找出問題代碼並解決;
4、 問題描述:系統日志中的錯誤信息
解決方案:分析系統日志的錯誤信息,並解決代碼問題;
5、 問題描述:並發100個用戶運行12個小時,日志存在有PAGESIZE不足
解決方案:調整DB2的PAGESIZE設置;
7. 測試結論和建議
通過本次性能測試,在測試環境下,WAS單節點能穩定支持100個並發用戶使用系統。按照經驗,100個並發用戶約等於800~1000個用戶使用,按照目前興化農商行的用戶數600多人,已經完全滿足,后續省聯社版本,可以采取4台PC-SERVER(16C32G),做WAS集群,每台部署6個節點,按照單節點支持800~1000用戶使用,預計可以支持19200~24000人同時使用系統,基本滿足當時的系統設計,后續隨着用戶量增加還可以通過增加PC-SERVER集群,來支持系統的靈活擴容。