效能測試易混淆點吃透07

2022-02-06 10:31:09 字數 3649 閱讀 1414

說明:吞吐量(throughput):指的是單位時間內處理的客戶端請求數量,直接體現軟體系統的效能承載能力。

通常情況下,吞吐量用「請求數/秒」或者「頁面數/秒」來衡量。

1. 從業務角度來看,吞吐量也可以用「業務數/小時」、「業務數/天」、「訪問人數/天」、「頁面訪問量/天」來衡量。

2. 從網路角度來看,還可以用「位元組數/小時」、「位元組數/天」等來衡量網路的流量。

每秒吞吐量統計(從網路角度):

當伺服器接受了請求後,就會響應給各個瀏覽器頁面,這些頁面攜帶都有大小的,以kb為單位計數,

平均每秒吞吐量,代表了伺服器每秒響應的資訊量的大小,故每秒請求數越多,每秒吞吐量也就越多。

請求數和吞吐量是成正比的。

(因為有請求就有響應,請求是根據伺服器響應頁面中的狀態碼為標誌來統計的,簡單說就是請求數越多,

伺服器根據請求響應的狀態碼就越多,,因此資訊量就上來了,故吞吐量(kb/s)就增加,因此請求數和吞吐量成正比)

說明:併發(concurrency):它最簡單的描述就是指多個同時發生的業務操作。

(例如,100個使用者同時單擊登入頁面的「登入」按鈕操作。)

(多個「同時」傳送的「業務」操作,操作業務是一致的,在控制併發時通過集合點來實現)

這裡提一下:

jmeter是對介面併發測試的。

loadrunner是對業務集合形成的事務做併發測試的。

這就是為什麼說loadrunner用來做web效能測試,而不是做介面測試原因,因為loadrunner可變編寫指令碼指定事務開始和結束。

說明:響應時間指使用者從客戶端發起乙個請求開始,到客戶端接收到從伺服器端返回結果整個過程所耗費的時間

我們在日常工作中經常會聽到qps/tps這些名詞,也會經常被別人問起說你的系統吞吐量有多大。

這個問題從業務上來講,可以理解為應用系統每秒鐘最大能接受的使用者訪問量。或者每秒鐘最大能處理的請求數;

qps「每秒查詢率」:

每秒鐘處理完請求的次數;注意這裡是處理完。具體是指發出請求到伺服器處理完成功返回結果。

可以理解在server中有個counter,每處理乙個請求加1,1秒後counter=qps。

tps每秒處理事務數:

每秒鐘處理完的事務次數,一般tps是對整個系統來講的。

乙個應用系統1s能完成多少事務處理,乙個事務在分布式處理中,可能會對應多個請求,對於衡量單個介面服務的處理能力,用qps比較多。

併發量:系統能同時處理的請求數

rt:響應時間,處理一次請求所需要的平均處理時間

計算關係:

qps = 併發量 / 平均響應時間 (每秒鐘能處理完的請求次數)

併發量 = qps * 平均響應時間

qps與tps區別

一、qps/tps

qps:

queries per second意思:是「每秒查詢率」,是一台伺服器每秒能夠響應的查詢次數,

是對乙個特定的查詢伺服器在規定時間內所處理流量多少的衡量標準。

tps:

是transactionspersecond的縮寫,也就是事務數/秒。它是軟體測試結果的測量單位。

乙個事務是指乙個客戶機向伺服器傳送請求然後伺服器做出反應的過程。客戶機在傳送請求時開始計時,收到伺服器響應後結束計時,

以此來計算使用的時間和完成的事務個數。

tps即每秒處理事務數,包括了

1)使用者請求伺服器

2)伺服器自己的內部處理

3)伺服器返回給使用者

這三個過程,每秒能夠完成n個這三個過程,tps也就是n(這裡不是3,看我的csdn收藏原版);

qps與tps區別:

qps基本類似於tps,但是不同的是,對於乙個頁面的一次訪問,形成乙個tps;

但一次頁面請求,可能產生多次對伺服器的請求,伺服器對這些請求,就可計入「qps」之中。

二、系統吞吐量

乙個系統的吞度量(承壓能力)與request對cpu的消耗、外部介面、io等等緊密關聯。

單個reqeust 對cpu消耗越高,外部系統介面、io影響速度越慢,系統吞吐能力越低,反之越高。

系統吞吐量幾個重要引數:qps(tps)、併發數、響應時間(還挺難理解的,不過看了3遍後終於理解它們之間的關係了,嘿嘿)

qps(tps):每秒鐘request/事務 數量

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

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

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

說明:點選數是衡量web伺服器處理能力的乙個重要指標。它的統計是客戶端向web伺服器發了多少次http請求計算的。

1. 點選數不是通常一般人認為的訪問乙個頁面就是1次點選數,點選數是該頁面包含的元素

(訪問乙個頁面並響應,那就是乙個事務數了)

2. 通常我們也用每秒點選次數(hits per second)指標來衡量web伺服器的處理能力。

點選數,檢視響應狀態碼,訪問乙個頁面可能有多個點選數,用f12檢視伺服器端的響應狀態碼,就可知道這個頁面有多少個點選數。

點選數的統計是在伺服器端完成的。

結論:和qps概念類似

常用合併圖表組合說明

1. 平均事務響應時間與虛擬執行使用者

2. 平均事務響應時間與吞吐量

3. 每秒點選數與吞吐量

4. 每秒點選數與平均事務響應時間

1. 平均事務響應時間與虛擬執行使用者一般表現為隨著虛擬使用者數的增加,事務響應變慢,響應時間拉長

2. 平均事務響應時間與吞吐量

事務響應時間變長,吞吐量(byte/sec)減少。

1. 說明:平均事務響應時間與吞吐量結合,可以看出單個事務對吞吐量的影響

2. 分析:

1. 從上圖中看出,登入事務響應時間忽然拉長,系統吞吐量直線下降,說明,系統並不是因為總吞吐量的問題

導致登入響應延長,基本確定是登入資源或登入業務**響應時間增長導致的問題;

2. 具體是登入資源還是登入業務,需要結合頁面元件細分圖和每秒點選數來確定是那個問題;

3. 每秒點選數與吞吐量

1. 說明:正常情況下每秒點選率與吞吐量圖形基本是一致的

2. 分析

1. 吞吐量不正常那麼說明,應用程式響應時間慢

2. 點選量不正常那麼說明,網路存在問題,需要檢查網路相關報表

4. 每秒點選數與平均事務響應時間

每秒點選數增多,平均事務響應時間變慢,事務響應時間拉長。

mysql易混淆點

1 alter table 表名 change name names char 40 after 欄位名 改變位置放到字段之後 before 放到字段之前 2 查詢要攜帶索引字段,通常放在select之後第乙個 3 檢視檢視命令 show table status where comment vie...

C 易混淆點(二)

二進位制的100 的第0位是 0 1 第二位 0 第一位 0 第0位 所以把乙個數的第三位進行清零 置位 取反的操作如下 include define bit3 0x01 3 對乙個數的第三位進行清零 置位 取反 int main 程式的儲存區域分為 段 唯讀資料段 已初始化的讀寫資料段 未初始化的...

pandas庫使用時易混淆點,易錯點

1 巢狀字典傳給dataframe時,外層字典的鍵作為列,內層鍵作為行索引。pop ohio frame3 pd.dataframe pop frame3 nevada ohio 2000 nan 1.5 2001 2.4 1.7 2002 2.9 3.62 利用標籤的切片運算與普通的python切...