併發用戶數

併發用戶數

併發用戶數量,有兩種常見的錯誤觀點。一種錯誤觀點是把併發用戶數量理解為使用系統的全部用戶的數量,理由是這些用戶可能同時使用系統;還有一種比較接近正確的觀點是把用戶在線數量理解為併發用戶數量。

基本信息


併發用戶數量,有兩種常見的錯誤觀點。一種錯誤觀點是把併發用戶數量理解為使用系統的全部用戶的數量,理由是這些用戶可能同時使用系統;還有一種比較接近正確的觀點是把用戶在線數量理解為併發用戶數量。實際上,在線用戶不一定會和其他用戶發生併發,例如正在瀏覽網頁的用戶,對伺服器是沒有任何影響的。但是,用戶在線數量是統計併發用戶數量的主要依據之一。
併發主要是針對伺服器而言,是否併發的關鍵是看用戶操作是否對伺服器產生了影響。因此,併發用戶數量的正確理解為:在同一時刻與伺服器進行了交互的在線用戶數量。這些用戶的最大特徵是和伺服器產生了交互,這種交互既可以是單向的傳輸數據,也可以是雙向的傳送數據。
併發用戶數量的統計的方法目前還沒有準確的公式,因為不同系統會有不同的併發特點。例如OA系統統計併發用戶數量的經驗公式為:使用系統用戶數量*(5%~20%)。對於這個公式是沒有必要拘泥於計算的結果,因為為了保證系統的擴展空間,測試時的併發用戶數量要稍微大一些,除非是要測試系統能承載的最大併發用戶數量。舉例說明:如果一個OA系統的期望用戶為1000個,只要測試出系統能支持200個併發用戶就可以了。

概念理解


關於併發用戶數的問題,一直很困惑著我對性能測試方面的理解。
1、在LR中,“併發用戶數量”是怎麼設置?
我個人的理解是在LR的controller中設置,如附件,這樣理解對嗎?
2、LR中也一直提及到“虛擬用戶”,那到底“虛擬用戶”和“併發用戶”在LR的場景中是怎麼設置的?
兩者是同一概念嗎?
3、一般怎麼計算併發用戶數?根據什麼計算?
首先LR上設置的虛擬用戶指的是在系統中運行的用戶數,如果你在腳本中設置了集合點,那麼腳本運行到那個點上時,就開始做你提的那個併發操作了
比如說:我們有一個這樣的場景,我系統在線用戶是150個,但是同時操作某一個事物(比如說登陸操作)的人是20個
那麼場景怎麼設計了?在Controller中設置150個虛擬用戶執行這個腳本,然後登陸操作之前放一個集合點,然後設置集合點的策略(20個用戶到達時即執行集合點)
併發用戶實際從應用角度來分析可以分為如下幾種
註冊用戶
在線用戶
併發用戶
併發用戶:是同時執行一個操作的用戶,或者是同時執行腳本的用戶,這個併發在設置不同場景的時候併發的情況是不一樣的,在實際的測試中需要根據具體的需求進行設計;
集合點:如果腳本中設置集合點,可以達到絕對的併發,但是集合點並不是併發用戶的代名詞,設置集合點和不設置集合點,需要看你站在什麼角度上來看待併發,使整個伺服器,還是提供服務的一個事務;
虛擬用戶,就是LR通過某種模擬機制虛擬出來的用來模擬用戶行為的用戶,一般以線程或者進程來實現用戶的模擬!