使用jmeter壓測

前端時間進行了一次性能測試

一、上概念

TPS

TPS:Transactions Per Second,意思是每秒事務數,具體事務的定義,都是人爲的,可以一個接口、多個接口、一個業務流程等等。一個事務是指事務內第一個請求發送到接收到最後一個請求的響應的過程,以此來計算使用的時間和完成的事務個數。

以單接口定義爲事務爲例,每個事務包括瞭如下3個過程:

  a.向服務器發請求

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

  c.服務器返回結果給客戶端

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

如果多個接口定義爲一個事務,那麼,會重複執行abc,完成一次這幾個請求,算做一個tps。

QPS

QPS:Queries Per Second,意思是每秒查詢率,是一臺服務器每秒能夠響應的查詢次數(數據庫中的每秒執行查詢sql的次數),顯然,這個不夠全面,不能描述增刪改,所以,不建議用qps來作爲系統性能指標。

區別

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

如果是容量場景,假設n個接口都是查詢接口,且這個接口內部不會再去請求其它接口,qps=n*tps

jmeter聚合報告中,Throughput是用來衡量請求的吞吐量,也就是tps,tps=樣本數/運行時間

如果沒有定義事務,會把每個請求作爲一個事務

我的建議

QPS是Query Per Second,是數據庫中的概念,每秒執行條數(查詢),被引申到壓測中來了,但是不包括插入、更新、刪除操作,所以不建議用qps來描述系統整體的性能;

建議用tps,這個t,你可以隨意的定義,可以是一個接口,也可以是一個業務流程等等。

二、常用操作

top命令 top命令是最常用的服務器性能監控命令,登入後臺執行top命令後,會定時刷新輸出服務器資源佔用情況。

 

 

針對CPU負載,我們一般只需要關注兩處參數,load average和進程佔用CPU時間比。 load average即系統負載,輸出了1分鐘、5分鐘、15分鐘前到現在的任務隊列平均值,一般情況下load average值不超過服務器CPU核數,就說明進程沒有排隊現象,如超過CPU核心數量,則說明服務器壓力偏高,會出現服務響應慢或不可用的現象(比如4C8G的服務器,如果load average值超過4,則說明服務器壓力偏高)。

查看服務器核數可使用以下命令: cat /proc/cpuinfo |grep "processor"|sort -u|wc -l

比如:

 

 

 

 

然後記錄cpu使用,內存佔用,網絡寬帶佔用,吞吐量,還有樣本總數,每個請求響應時間消耗平均值

然後逐步加壓直至服務器或者數據庫宕機。

總結報告。

結束。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章