天天看點

如何對性能測試,進行并發數的分析

一、問題:

如果我們要做性能測試,需要考慮并發量這個問題,并發是性能測試中很重要的一項,如果沒有并發,就無法進行測試

那麼,如何分析這個并發量,才能滿足實際的要求呢?或者說,怎麼找出系統并發的準确數量呢?

二、執行個體:

如果我們有以下系統,需要進行性能測試

2.1 執行個體1、

如果某系統商城,每天都會有100萬人通路,産品中心,那麼這就有100萬個PV量。但是實際業務上,有3000人點選商品,那麼并發量就是3000,

計算:先統計某項目一天的PV量,如果PV是100萬,實際使用者活躍為8小時,用公式PV/小時/分/秒。計算出【100萬/8小時/60分/60秒 = 34】就是平均并發量,如果要求更準确,可以取某個月所有天數的并發求平均進行分析,這個求出的是平均并發數。

如果求出平均并發是34,但是某個時間會有一個并發峰值為1000

2.2 執行個體2

某上班打卡系統,8點到9點是高峰期,時間為1小時。公司有2000人,可能有100人同時打卡

2.3 執行個體3

搶紅包功能,某寶年終活動,100000000個使用者同時搶紅包,時間為2分鐘

計算并發數為【100000000人/2分/60秒/1000毫秒=834】機關是毫秒

三、分析:

1、并發數,我們可以通過平均并發和最大并發兩個方向進行計算分析

2、并發區分出口和入口(比如系統的登入和登出),入口需考慮峰值即最大并發數,出口不需要考慮峰值

3、測試的模拟并發數,一般要高于實際并發數進行測試

4、并發的機關一般用秒或者毫秒,如果系統并發時間比較長,像打卡,就可以采用秒作為機關,如果并發時間段比較短,像搶紅包,就可以采用毫秒作為機關

5、事實上,一萬級别并發數的的性能測試,并發量就很大了,我們不可能一次性設定為模拟一萬的使用者級别進行測試,這樣伺服器等各個方面不一定等承受如此大的并發

6、我們要實際業務和平台PV統計,計算出平均并發數和最大并發數。然後劃分階段進行測試,比如将使用者級别設定為500,1000,3000,8000,10000這樣的并發,逐漸增加并發量

7、關于性能測試系統,如果有條件,一般單獨隔離出一個和生産一樣的實體環境進行測試,并且確定測試時不受網絡問題限制,需要使用區域網路的發起機與伺服器