性能測試:TPS和QPS的區別


轉載

原文地址:https://www.cnblogs.com/uncleyong/p/11059556.html

技術群里,問得最多的就是tps和qps,有相似的地方,也有差異的地方,我簡單談下自己的理解。(由於比較忙,下面部分摘抄自網絡)

QPS:Queries Per Second,意思是“每秒查詢率”,是一台服務器每秒能夠響應的查詢次數,是對一個特定的查詢服務器(比如是讀寫分離的架構,就是讀的服務器)在規定時間內所處理流量多少的衡量標准。

TPS:TransactionsPerSecond,意思是每秒事務數,一個事務是指一個客戶機向服務器發送請求然后服務器做出反應的過程。客戶機在發送請求時開始計時,收到服務器響應后結束計時,以此來計算使用的時間和完成的事務個數。

 

tps,即每秒處理事務數,每個事務包括了如下3個過程:

  a.用戶請求服務器

  b.服務器自己的內部處理(包含應用服務器、數據庫服務器等)

  c.服務器返回給用戶

  如果每秒能夠完成N個這三個過程,tps就是N;

 

qps,如果是對一個頁面請求一次,形成一個tps,但一次頁面請求,可能產生多次對服務器的請求(頁面上有很多html資源,比如圖片等),服務器對這些請求,就可計入“Qps”之中;

         但是,如今的項目基本上都是前后端分離的,性能也分為前端性能和后端性能,通常默認是后端性能,即服務端性能,也就是對服務端接口做壓測

               如果是對一個接口(單場景)壓測,且這個接口內部不會再去請求其它接口,那么tps=qps,否則,tps≠qps

               如果是對多個接口(混合場景)壓測,不加事務控制器,jmeter會統計每個接口的tps,而混合場景是要測試這個場景的tps,顯然這樣得不到混合場景的tps,所以,要加了事物控制器,結果才是整個場景的tps。

 

jmeter聚合報告中,Throughput是用來衡量吞吐量,通常由tps來表示

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM