壓力測試術語常用

2022-07-31 21:00:20 字數 2370 閱讀 1211

1、熔斷、降級、限流

概念目的

觸發方觸發場景

解決方處理方案

所有使用者表現一致

使用者表現

熔斷從可用性可靠性著想,為防止系統的整體緩慢甚至崩潰

某個服務(下游服務)不可用

當失敗的呼叫到一定閾值,如預設是5秒內20次呼叫失敗,就會啟動熔斷機制,自動觸發

呼叫方開啟熔斷之後,如何實現自動恢復?每隔一段時間,釋放乙個請求到服務端進行探測,如果後端服務已經恢復,則自動恢復

不一致使用者體驗到的是某些功能暫時不可達或不可用

降級為防止系統的整體緩慢甚至崩潰

服務出問題或者影響到核心流程的效能則需要暫時遮蔽掉

整體負荷比較大,進行人工干預

呼叫方取消降級

一致使用者體驗到的是某些功能暫時不可達或不可用

限流通過對併發訪問/請求進行限速或者乙個時間視窗內的的請求進行限速來保護系統

通過對進行限速來保護系統

超出了服務每分鐘的呼叫量或服務的某個方法呼叫量

如果是由於當時壓測併發數較高引起;視具體情況而定

調大閾值

一致一旦達到限制速率則可以拒絕服務或

具體示例

熔斷:a -> b -> c,如果c出現問題了,那麼b熔斷了,則a就不用熔斷了。

降級:a -> b -> c,c服務存在c1、c2、c3、c4

1,如果c4優先順序較低,一定是先降級優先順序地的介面c4 

2,如果服務鏈路整體沒有效能特別差的點,比如就是外部流量突然激增,那麼就從外到內開始降級。 

3,如果某個服務能檢測到自身負載上公升,那麼可以從這個服務自身做降級。

限流:b只允許a以qps<=5的流量請求,而c卻只允許b以qps<=3的qps請求,那麼b給a的設定就有點大,上游的設定依賴下游。而且限流對qps的配置,可能會隨著服務加減機器而變化,最好是能在集群層面配置,自動根據集群大小調整。

2、qps 與併發數 與響應時間

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

qps ( query per second ):每秒鐘request/事務 數量

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

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

上圖橫座標是併發使用者數。綠線是cpu使用率;紫線是吞吐量,即qps;藍線是時延。

開始,系統只有乙個使用者,cpu工作肯定是不飽合的。一方面該伺服器可能有多個cpu,但是只處理單個程序,另一方面,在處理乙個程序中,有些階段可能是io階段,這個時候會造成cpu等待,但是有沒有其他請 求程序可以被處理)。隨著併發使用者數的增加,cpu利用率上公升,qps相應也增加(公式為qps=併發使用者數/平均響應時間。)隨著併發使用者數的增加,平均響應時間也在增加,而且平均響應時間的增加是乙個指數增加曲線。而當併發數增加到很大時,每秒鐘都會有很多請求需要處理,會造成程序(執行緒)頻繁切換,反正真正用於處理請求的時間變少,每秒能夠處 理的請求數反而變少,同時使用者的請求等待時間也會變大,甚至超過使用者的心理底線。

3、tps:transactions per second

(每秒傳輸的事務處理個數),即伺服器每秒處理的事務數。tps包括一條訊息入和一條訊息出,加上一次使用者資料庫訪問。(業務tps = caps × 每個呼叫平均tps)

tps是軟體測試結果的測量單位。乙個事務是指乙個客戶機向伺服器傳送請求然後伺服器做出反應的過程。客戶機在傳送請求時開始計時,收到伺服器響應後結束計時,以此來計算使用的時間和完成的事務個數。

一般的,評價系統效能均以每秒鐘完成的技術交易的數量來衡量。系統整體處理能力取決於處理能力最低模組的tps值。

4、pv uv 區別

乙個uv可以用很多pv,乙個pv也只能對應乙個ip。比如,今天訪問了一次你的**,你的uv就加了1,我這次訪問瀏覽了兩個頁面,你的pv就加2,我訪問同乙個頁面,但重新整理了一次,pv也是2.

5、cpu、記憶體、磁碟io之間的關係

cpu:工人,幹活的,判斷以及邏輯處理

記憶體:車間,工人幹活的地方,車間中加工原料,當車間中沒有原料了,在從倉庫中取原料,對原料進行加工 記憶體本身有一定的儲存空間,對記憶體中的資料進行處理的速度比從硬碟取資料再處理的速度快很多

硬碟:倉庫,原料,資料儲存

cpu對資料進行判斷以及邏輯處理,本身不能儲存資料,這時cpu從內訪問資料進行邏輯計算,如果記憶體沒有資料,才會從硬碟讀資料到記憶體,再對資料進行處理

就像人吃飯一樣,cpu就是人,記憶體就是碗,硬碟就是飯鍋!!

當cpu程序等待,會造成記憶體開銷的增加,記憶體不夠用的時候會用到虛擬記憶體,導致虛擬記憶體的增加,這時磁碟io開銷就會增加,系統態sy%提公升,cpu開銷增加,記憶體裡資料不夠用,才用磁碟中取資料.

軟體測試常用術語

壓力測試 stress testing 是效能測試的一種,通常是指持續 不斷地 給被測系統增加壓力,直到將被測系統 壓跨為止 用來測試系統所能承受的最大壓力。回歸測試 regression testing 是指對軟體的新版本測試時,重複執行上乙個版本測試時的用例。冒煙測試 smoke testing...

效能測試常用術語

是指從客戶端傳送乙個請求開始計時,到客戶端接收到從伺服器端返回的響應結果計時結束。在一些工具中,請求響應事假通常稱為ttlb time to last byte 從傳送第乙個請求開始,到客戶端收到最後乙個位元組的響應為止所耗費的時間 請求響應時間的單位一般為 秒 或 毫秒 請求響應時間 客戶端時間 ...

測試常用術語4

61 usability testing 可用性測試 62 backup testing 備份測試 63 robustness testing 健壯性測試 64 documentation testing 文件測試 66 statement coverage 語句覆蓋 67 branch cover...