併發使用者數和QPS

2021-06-03 11:55:24 字數 1601 閱讀 3237

關於併發使用者數和qps,自己一直被這兩個概念糾結,閱讀了一下相關資料,總結如下:併發 使用者數和qps兩個概念沒有直接關係,但是如果要說qps時,一定需要指明是多少併發使用者數下的qps,否則豪無意義,因為單使用者數的40qps和20並 發使用者數下的40qps是兩個不同的概念。前者說明該應用可以在一秒內序列執行40個請求,而後者說明在併發20個請求的情況下,一秒內該應用能處理40 個請求,當qps相同時,越大的併發使用者數,代表了**併發處理能力越好。對於當前的

web

伺服器,其處理單個使用者的請求肯定戳戳有餘,這個時候會存在資源浪費的情況(一方面該伺服器可能有多個cpu,但是只處理單個程序,另一方面,在處理乙個程序中,有些階段可能是io階段,這個時候會造成cpu等待,但是有沒有

其他

請 求程序可以被處理)。而當併發數設定的過大時,每秒鐘都會有很多請求需要處理,會造成程序(執行緒)頻繁切換,反正真正用於處理請求的時間變少,每秒能夠處 理的請求數反而變少,同時使用者的請求等待時間也會變大,甚至超過使用者的心理底線。所以在最小併發數和最大併發數之間,一定有乙個最合適的併發數值,在併發 數下,qps能夠達到最大。但是,這個併發並非是乙個最佳的併發,因為當qps到達最大時的併發,可能已經造成使用者的等待時間變得超過了其最優值,所以對 於乙個系統,其最佳的併發數,一定需要結合qps,使用者的等待時間來綜合確定。

對這個圖進行簡單的講評吧。橫座標是併發使用者數。綠線是cpu使用率;紫線是吞吐量,即qps;藍線是時延。

開始,系統只有乙個使用者,cpu工作肯定是不飽合的。

一方面該伺服器可能有多個cpu,但是只處理單個程序,另一方面,在處理乙個程序中,有些階段可能是io階段,這個時候會造成cpu等待,但是有沒有

其他

請 求程序可以被處理)。隨著併發使用者數的增加,cpu利用率上公升,qps相應也增加(公式為qps=併發使用者數/平均響應時間。)隨著併發使用者數的增加,平均響應時間也在增加,而且平均響應時間的增加是乙個指數增加曲線。而當併發數增加到很大時,每秒鐘都會有很多請求需要處理,會造成程序(執行緒)頻繁切換,反正真正用於處理請求的時間變少,每秒能夠處 理的請求數反而變少,同時使用者的請求等待時間也會變大,甚至超過使用者的心理底線。

系統吞吐量幾個重要引數:qps(tps)、併發數、響應時間

qps(tps): 

每秒鐘request/事務 數量

併發數: 

系統同時處理的request/事務數

一般取平均響應時間

(很多人經常會把併發數和tps理解混淆)

理解了上面三個要素的意義之後,就能推算出它們之間的關係:

qps(tps)= 併發數/平均響應時間

乙個系統吞吐量通常由qps(tps)、併發數兩個因素決定,每套系統這兩個值都有乙個相對極限值,在應用場景訪問壓力下,只要某一項達到系統最高值,系統的吞吐量就上不去了,如果壓力繼續增大,系統的吞吐量反而會下降,原因是系統超負荷工作,上下文切換、記憶體等等其它消耗導致系統效能下降。

上面這張圖是應用其他人的關於併發使用者數,qps,使用者平均等待時間的一張關係圖,對於實際的系統,也應該是對於不同的併發數,進行多次

測試

,獲取到這些數值後,畫出這樣一張圖出來,以便於分析出系統的最佳併發使用者數。

從最佳併發使用者數和最大併發使用者數看效能測試

文章中介紹乙個理髮店理論,然後引出最佳併發使用者數和最大併發使用者數的概念 背景 理髮店共有3名理髮師,每名理髮師完成一次理髮都耗時1小時,店裡有還有一些位子供客人等位,每個客人在理髮店呆的時間超過3小時就會無法忍受離開。我理解的幾個概念 3名理髮師,好比應用同時能處理幾個事務 理髮耗時1小時,好比...

LoadRunner 虛擬使用者數和併發使用者數的聯絡

oa系統使用使用者是100個,這個就是系統使用者數。承受的壓力。因為伺服器 併發使用者 是同時執行乙個操作的使用者,或者是同時執行指令碼的使用者,這個併發在設定不同場景的時候併發的情況是不一樣的,在實際的測試 估算併發數的公示 1 計算平均的併發使用者數 c nl t 2 併發使用者數峰值 c c ...

併發使用者數的理解

什麼是併發使用者數,很多人都會拿這個指標來衡量乙個網路系統的好與壞,剛開始接觸loadrunner的時候,曾認為虛擬使用者就是所謂的併發使用者數,不過經過一系列的測試後,發現這種看法並不怎麼全是正確。首先,要分兩種測試情況,第一種是通過跑網頁實際業務測試,如教務系統,觀察其登陸事務,查詢事務等,第二...