做效能測試,怎麼做?肯定是要有策略的,策略怎麼定?根據效能需求來定。而效能需求,可以從客戶中來,可以從產品經理中來,也可以從開發來。像我們經常聽到的,系統的tps要達到 ***,使用者的某乙個操作要在 *** 秒內完成,系統要能夠支援 *** 個使用者同時做某個操作等等,這些都是效能需求,而不同的效能需求,在進行測試時,就要用不同的策略。那麼在做效能測試時會用到哪些策略呢?
1. 最基本的策略,就是讓指令碼迴圈,持續一定的時間,通過不斷增加執行緒數,檢視系統的效能狀況。
2. 將幾個請求,當做乙個整體來統計效能資料。比如電子**,使用者購買商品,中間有好幾個步驟,但效能需求要求使用者購買商品,需要在 *** 秒內完成。那麼就需要把購買商品的幾個步驟,當作乙個整體來統計效能資料
3. 在乙個效能測試指令碼中,有幾個步驟是系統的關鍵點。那麼就需要對這幾個步驟做一下併發的測試
那麼,這些策略,在jmeter中要怎麼實現?
執行緒數:就是讓jmeter起多少個執行緒來跑指令碼,乙個執行緒可以理解為就是乙個虛擬的使用者,如果設定為10,那麼就相當於有10個使用者,同時在執行你的指令碼。
ramp-up perild:就是設定的執行緒數,在多少秒內啟動完。比如執行緒數設定為10,這個設定為5,那麼10個執行緒就會在5秒之內啟動,也就是每秒啟動2個執行緒。這個就是起乙個緩衝的作用,前面也說了,啟執行緒是很消耗系統資源的,所有的執行緒都同時啟動,對系統的影響是很大的,特別是執行緒數設定得非常大的時候。
迴圈次數:就是指令碼要迴圈多少次,做效能測試,都是讓指令碼持續執行一段時間,所以這個,勾選永遠。
delay thread creation until needed:這個一看,就知道是延遲啟動執行緒了,需要的時候才建立執行緒,很少用
排程器:勾上,這個勾上了,下面的的配置才能生效。
啟動延遲:就是在你點了執行之後,指令碼並不會立即執行,而是延遲多少秒之後,再執行。
下面兩個就是設定指令碼定時執行的,沒用過,如果你要對線上的服務壓測,但只能晚上人少的時候測試,就可以用這個。
配置說完了,那麼該怎麼執行測試呢?執行測試,要先用單個的執行緒,跑一次,得到乙個基準值。然後,再逐步往上加執行緒,再將各次測試的結果作成曲線圖
簡單作的一張圖,橫座標是執行緒數,縱座標是tps,從圖中可以看到,第三列的點上是乙個拐點,這個點上,就是伺服器的最佳效能所在。呃,該怎麼解釋這個呢?前面的點,每增加相應的執行緒數,tps也會增加相應的數量,增長關係不是正比,每次往後,tps增長量都會少一點,但每次減少的都差不多。但是到了拐點,再增加執行緒,tps的增長就嚴重的下滑了。如果對數學裡的最佳分配比較熟悉的話,應該很好理解這個。好了好了,這個只是理論。但是在實際中,我們並不會太多地關注這個最佳點,我們通常更關心的是極限值。在測試中,我們通常是這樣的,到了一定的執行緒數之後,再增加執行緒數,發現tps不會增長,甚至還降低了,那麼這就是伺服器的極限了。那麼這個極限是真極限還是假極限呢,這個時候就要通過各種測試資料進行分析了。
將幾個請求當作乙個整體來處理,就是把這幾個請求放在乙個事務控制器裡面,在前面講流程控制的時候,有講過,這裡就不再講了。
併發測試,需要用到同步定時器
同步定時器有兩個配置項,第乙個就是達到了多少使用者,才開始發請求,比如配置為10,那麼使用者執行完了前面的請求,到了這步,不會立即發請求,會先等著,等到有10個使用者都執行到了這一步,然後就,大夥都往前衝吖!下面的就是超時時間,單位是毫秒。從第乙個使用者開始等,就開始計時,如果在設定的時間之內,也沒有達到發請求的人數時,三七不管二十一了,衝!
場景模擬,得根據各個系統的業務來定,一般都是弄多個執行緒組,每個執行緒組裡的使用者做著不同的事情,以達到模擬真實的業務場景。像我前面列舉的業務場景,應該不難實現吧,而且場景模擬測試,一般是用於穩定測試,在單一場景測試通過後,然後才會有綜合場景模擬,在大的壓力下(最佳效能或極限效能)讓指令碼持續執行8小時或是更長的時間,檢視系統的穩定性。
效能測試 Jmeter
如何更快速的入門jmeter 建議通過錄製指令碼的方式,快速的了解乙個效能測試應該包括的元件以及它們的層級關係。關於錄製方式,請參考 jmeter基礎之 錄製指令碼 如下,通過badboy 工具錄製的乙個指令碼 指令碼過程 登入 126郵箱,給自己發一封郵件,祝自己聖誕快樂!並可以方便的將指令碼匯出...
jmeter效能測試
請參考 jmeter效能測試文章集合 jmeter 菜鳥入門到高階 系列 開源效能測試工具jmeter jmeter badboy環境搭建 badboy使用手冊 壓力測試之badboy和jmeter的簡單使用方法 jmeter 菜鳥入門到高階 系列 jmeter是我從事軟體測試工作以來接觸的第乙個效...
Jmeter效能測試
轉 1 準備好指令碼,非gui模式下執行 在jmeter的bin目錄下執行命令 使用命令 jmeter n t l n 非gui模式 t 需要執行的指令碼檔名,如 xx.jmx l 儲存的檔名,如 xx.jtl jmeter n t e 1 apache jmeter 3.1 test testca...