並發用戶數是指:在某一時間點,與被測目標系統同時進行交互的客戶端用戶的數量。
並發用戶數有以下幾種含義:
1. 並發虛擬用戶數(Concurrent Virtual Users,Users_CVU)
在使用專用的測試工具(如Loadrunner、Jmeter)時用於模擬客戶端用戶的進程或線程的數量;該參數是針對客戶端(generator)而言的。
2. 有效並發虛擬用戶數(Effective Concurrent Virtual Users,Users_ECVU)
被評估目標系統實際感受到的等效於業務請求壓力的無思考時間的並發用戶數;該參數是針對被評估的目標系統(Target System)而言的。
如果使用測試工具對目標系統進行壓力加載時設定了思考時間(Think Time),那么實際有效的並發虛擬用戶數可使用如下公式計算得出:
Users_ECVU=Users_CVU*Time_ART/(Time_ART+Time_TotalThinkTime)
其中:
- Time_ART --- 目標系統實際運行時的平均響應時間
- Time_TotalThinkTime --- 虛擬用戶執行一次該交易過程中使用的思考時間的總和
由此可見:
- 增加思考時間意味着減少對目標系統的業務請求壓力;
- 當思考時間為零時,有效並發虛擬用戶數與並發虛擬用戶數相等。
3. 內在並發用戶數(Limited Concurrent Users,Users_LCU)
目標系統內部能夠同時並行處理的客戶端用戶數。
該參數體現了目標系統的內在並發度,因此當對目標系統進行任何有效的優化和調整之后,其內在並發用戶數即內在並發度就會發生變化,通常來講是指改變目標系統的第一瓶頸后會發生變化。
當 Users_ECVU<=Users_LCU 時,目標系統可以真正地並行處理所有被加載用戶的任務請求,此時交易的響應時間會相對保持不變,即交易的實際響應時間,也是交易在目標系統中處理的最快時長;
當 Users_ECVU>Users_LCU 時,目標系統會利用內部的請求調度機制將多出的請求進行排隊並在所有的用戶請求之間進行任務切換處理,外在表現就是被加載交易的響應時間開始延長。
4. 並發在線用戶數(Concurrent Online Users,Users_COU)
一般是指實際生產系統中已經和目標系統建立了會話連接的用戶總數,並發在線用戶數通常是指實際的客戶端操作員的數量,是人工發起的業務會話的數量。
並發在線用戶數產生的請求壓力可以通過公式計算出目標系統感受到的實際業務請求壓力,即有效並發虛擬用戶數,公式如下:
Users_ECVU=Users_COU*Time_ART/Time_AverageIntervalRequestTime
其中:
- Time_ART --- 目標系統實際運行時的平均響應時間
- Time_AverageIntervalRequestTime --- 每個操作員用戶發起該交易請求的平均間隔時間