深入理解併發用戶

                                                                                                                         **  深入理解併發用戶 **

   提到軟件性能測試,相信性能測試人員對"併發用戶"這個詞彙並不陌生吧.那什麼是併發用戶呢?怎麼去理解併發用戶這個概念呢?我想,在這裏對這個概念做一個深入的探討,相信會對大家有一個啓示作用。

   以前做過幾個性能測試項目,但對併發用戶這個概念,就只是從字面上泛泛的理解爲:用戶在同一時刻對系統進行請求操作,而被測系統在同一時刻收到所有用戶發過來的請求操作並對其進行響應.這是我早期做性能測試所理解的一個概念,如果所有用戶不在同一時間點上發出請求操作就不應該稱之爲併發用戶,所以每當我做性能測試都會在請求操作前加上一個集合點.通過自己不斷的學習實踐,現在對這個概念又有了新的認識。
         在英文中,併發用戶是concurrent users,concur是動詞,是同時發生,共同起作用的意思,concur 同時發生+ -ent 形容詞後綴,就是形容詞,同時發生的,同時存在的,並存的意思.那麼併發用戶就是同時發生的用戶,同時存在的用戶,並存的用戶的意思.其實在實際的性能測試中,不能拋開實際的業務場景而去談併發,我在以前對併發用戶的理解其實體現的是一個服務器端所能承受的併發用戶的概念.從這裏出發,併發用戶可以從兩個角度去理解.
    一 、業務角度,從業務的角度模擬真實的併發用戶訪問.這種併發的概念通常在性能測試(Performance Testing)方法中使用.在實際性能測試中,還有幾個和併發用戶相關的概念,就是"併發用戶數","系統用戶數","同時在線用戶數".假如有一個OA系統,該系統一共有5000個使用用戶,極端情況就是5000個用戶同時在線,但實際情況中很少發生,這裏5000就是系統的"系統用戶數";大多數論壇都設計了在線統計功能和最高峯時的在線人數,這裏統計的數字就是顯示在這一個時間段上登陸該系統的用戶數及"同時在線用戶數",而最高峯時的"同時在線用戶數"就是系統使用時最大的業務"併發用戶數",但這個併發用戶數並不代表服務器實際承受的壓力,服務器實際承受的壓力不僅取決於"併發用戶數",還取決於用戶的業務場景.至於併發用戶數的具體值該如何估算,會再以後文章中深入.
    二、從服務器承受壓力的角度來考慮,這裏提到併發的概念通常在併發測試(Concurrency Testing)方法中使用,當大量用戶同時對系統進行請求操作時,體現的是服務器端承受的最大併發訪問數.和我以前理解的併發用戶是一個概念,這主要是針對同一個應用,同一個操作,同一個模塊或者數據記錄進行多用戶併發訪問.
   從上面兩種不同角度對併發用戶的解釋,引出了兩種測試方法:性能測試方法和併發測試方法,不同的測試方法對於併發用戶在場景中的設計也是截然不同的,說到這裏,大家對併發用戶這個概念應該有了一個更清晰的概念了吧.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章