今天收到Jackei兄發來的一封郵件,內容是一位同行向他提出的“關于項目中的能提供的參考統計數據向測試期望轉化的”問題,我覺得很有代表性,在這里貼出來,以方便討論。

您好!目前的項目中遇到些問題,想向您請教:
我目前在某門戶項目中管理性能測試部分。目前需要指定測試方案,手頭能有的數據如下:
?
1,每日訪問量10萬人次(技術建議書中提出);
2,目前在網系統每天的頁面訪問量(按各業務統計);
3,能滿足同時在線人數2000人的訪問(合同中描述)。

在我與業務部門交流后,制作了三種綜合訪問量(是訪問量而不是訪問頻度)分布模型以體現系統在三中典型時刻的訪問分布需求,分別是:平衡模型(月中),偏重查詢模型(月初),偏重業務辦理模型(月末)。腳本采用了了能具有代表性的典型業務流程。

現在的問題一直困擾我:
1,由于合同中提出需要支持2000人同時在線,那么我是否應該將并發的用戶量設置為200(按在線人數的10%為并發人數計算)?
2,為每個腳本設置的虛擬用戶數是否應該等于訪問量模型中所定義的比例?
3,除了加壓過程的緩增策略外,是否需要考慮突發性的大并發加壓策略?

對于問題1,如果按照10%理論的話,是否需要考慮有一部分人只登錄進系統但是不進行操作,因為不動作的用戶畢竟需要占用資源(服務器內存等),也就是說除10%是時時活動用戶,還需要一定的非活動用戶當做"背景"。
對于問題2,由于每個操作的完成/響應時間不同,所以必然導致的是,如果按訪問量模型為每個操作/腳本定義分派虛擬用戶數進行測試,則測試結果中實際的訪問量比例必然偏模型中訪問量比例。除非設置集合點(我用的是LR),但是,這樣同時大同時并發會否使服務器不堪重負而崩掉?
對于問題3,實在沒什么好說的了,因為我實在是沒這方面經驗,想聽聽您的意見。
謝謝您了!

又附目前我做的方案中的一些信息:虛擬用戶數1000;腳本中帶不同程度的THINKTIME;每10秒增2個用戶;腳本一共9個,靜態頁面訪問1個,登錄1個,業務綁定1個,查詢4個,投訴1個,業務辦理1個。其中跟業務辦理相關的是后兩個。登錄,綁定,查詢都是查詢類的。
目前測試的結果來看,查詢類對系統瓶頸最大(系統資源占用高,事務響應速度慢),采用PORTAL實現(我感覺是設計缺陷),主要是過接口從外圍系統中拿信息。業務辦理相對性能好的多,是WAS實現的,主要是插數據庫操作。