以下內容結合了其他網友發表的內容,首先再次表示感謝。

        假設一個系統有2000個使用者(對于一般的企業系統,這個概念比較簡單,就是指數據庫中的用戶總數,但對于網站型的系統而言,相對較為復雜,一般為注冊用戶和游客的總和),也就是說,該系統的用戶總數是2000名,這個概念表示的是“系統用戶數”。如果該系統具有“ 在線統計”功能,該功能一般用于記錄系統中所有已經登錄的用戶(當然如果有一些系統功能同時也提供給未登錄的用戶使用,那么未登錄的當前使用者也應記錄進來),如果根據此統計結果得到最高峰時有500人在線,那么這個500就是所說的“同時在線用戶數”。
    根據對業務并發用戶數的定義,這500就是整個系統使用時最大的業務并發用戶數。當然,500這個數值只是表明在最高峰時刻有500個用戶登錄了系統,并不表示實際服務器承受的壓力。因為服務器承受的壓力還與具體的用戶訪問模式相關。例如,考察具體的某一個時間點,在這500個“同時在線用戶數”中,其中40%的用戶在較有興致地看系統公告(注意:“看”這個動作是不會對服務端產生任何負擔的),20%的用戶在填寫復雜的表格(對用戶填寫的表格來說,只有在“提交”的時刻才會向服務端發送請求,填寫過程是不對服務端構成壓力的),20%部分用戶在發呆(也就是什么也沒有做),剩下的 20%用戶在不停地從一個頁面跳轉到另一個頁面——在這種場景下,可以說,只有20%的用戶真正對服務器構成了壓力。因此,從上面的例子中可以看出,服務器實際承受的壓力不只取決于業務并發用戶數,還取決于用戶的業務場景。
在實際的性能測試工作中,測試人員一般比較關心的是業務并發用戶數,也就是從業務角度關注究竟應該設置多少個并發數比較合理,因此,在后面的討論中,也是主要針對業務并發用戶數進行討論,而且為了方便,直接將業務并發用戶數稱為并發用戶數
(1) 計算平均的并發用戶數: C = nL/T
(2) 并發用戶數峰值: C’ ≈ C+3根號C
公式(1)中C是平均的并發用戶數;n是login session的數量;L是login session的平均長度;T指考察的時間段長度。
公式(2)給出了并發用戶數峰值的計算方式,其中C’指并發用戶數的峰值,C就是公式(1)中得到的平均的并發用戶數。該公式的得出是假設用戶的login session產生符合泊松分布而估算得到的。
實例:
假設有一個OA系統,該系統有3000個用戶,平均每天大約有400個用戶要訪問該系統,對一個典型用戶來說,一天之內用戶從登錄到退出該系統的平均時間為4小時,在一天的時間內,用戶只在8小時內使用該系統。
則根據公式(1)和公式(2),可以得到:
C = 400*4/8 = 200
C’≈200+3*根號200 = 242

       以下是測試所需的一些常用公式,僅供參考

        F=VU * R / T   R = T / TS

       其中F為吞吐量,VU表示虛擬用戶個數,R表示每個虛擬用戶發出的請求數,T表示性能測試所用的時間,TS為用戶思考時間 。