在使用一些效能測試的工具時, 常常會看到 Concurrent Users 這個名詞, 那時候想說應該就很很多人同時使用系統, 結果後來又跑出 Simultaneous Users, 這是怎樣, 相同的東西為什麼說兩遍?
後來才知道, 兩者是說不一樣的東西, 是的, 不是為了讓文章有趣, 用兩個方式描述相同的事情. 讓我們來說文解字一下吧.
Concurrent Users
在一段時間內, 很多用戶在做一些事情
Simultaneous Users
在同一時間, 很多用戶同時做相同一件事.
所以 Simultaneous Users 是 Concurrent Users 的其中一種狀況. 因為有可能在同一時間點剛好做同一件事情.
Concurrent Users 如果都在做相同的事, 但不見得同一時間在做, 他可能不同時間開始, 有人是第 0 秒開始, 有人是第 50 秒開始. 有人做到第 5 步驟, 有人已經做完所有事情.
另外, 正常狀況下, 一個受測程式的 Concurrent Users 的數目, 會比 Simultaneous Users 的數目多. 你可能有 10000 個用戶都在逛 Amazon, 但是不太可能有 10000 個用戶同一時間下單買書.
Simultaneous Users 在那個時間都正在做事(active), 而 Concurrent Users 在那段時間可能是沒有在做事的(active or inactive).
拉回 Load Test 和 Stress Test 來看. Load Test 是要模擬在真實世界中遇到大量資料的狀況. 而 Stress Test 想要去確認系統在極端的狀況下是否還運作正常.
因此在 Load Test 則會使用 Concurrent Users, 在一段時間內, 用戶執行一些可能的事情. 例如: Amazon 網站的 Load Test, 用戶會逛逛網站, 找尋書籍, 然後下單買書.
而在 Stress Test 中則會用 Simultaneous Users, 每個人狂攻系統, 都在下單買書. 沒有 think time, 也就是不間斷, 不做別的事情.
蜜蜂和蜂蜜是兩件事, Simultaneous Users 和 Concurrent Users 也是一樣的, 不要搞錯喔.
參考文獻
(1) Simultaneous Users Vs Concurrent Users
(2) Performance Testing Concepts – What are Concurrent Users?
全站熱搜
留言列表