Translate

bloggerads內文

2017年11月9日 星期四

淺談JMeter 壓力測試

最近上架了一款與宜蘭縣文化局合作的AR的闖關遊戲(宜蘭逕趣味),但在做測試時PM說50人同時連線,怎會有的一半連不到任務,為了釐清並非前端問題,因此用了JMeter做一下Server的壓力測試,原來這可以來測試搶票系統,真的好威啊,現在就來教如何簡單使用同一時間100人連線測試吧.

1.先下載JMeter後,執行後會長成這樣.


2.然後在測試計畫點擊右鍵,如圖:

3.然後在執行緒組裡,將執行緒數量調整要測試的數量,因為模擬測試100人,所以輸入100,
啟動延遲輸這裡輸入0,主要是減輕client端的負擔,如圖:

4.之後在新增Http 要求,如圖:

5.在設定成你要連線的API,如圖:

6.設定完後 奇怪!要怎麼看結果阿,別急!首先新增類似報表的模式,這裡新增2種結果,如圖:
6.1

6.2

7.之後再放入關鍵的腳本,如圖:


8.在這裡參數我們設user to Group BY 設100 主要是在同一時間讓執行緒像伺服器一次請求100次,就像是打仗一樣,眾士兵出發,看到大軍同一時間都動了 XD, Timeout 設100,如圖:



8.之後按最上方的執行(綠色三角形)來看結果,這裡我們看2部分,當變異差越趨近於0,代表伺服器越穩定,處理量則是數值越大,反應時間短,如圖:






















9.如何證明是同時間呢?可以看到Sample Star 時間點都會是一樣的,如圖:


結論:以上是100人同一時間上線情況,可以看到sever負載沒有很好,就把這報告給PM看吧,
有圖有真相不要都是前端的問題,其實這軟體還可以條件設定更嚴苛,只是我們需求的只是想知道server的負載 對吧.

補充:這邊教一個小技巧,像是剛剛的Http 要求,裡面有一個參數,有人可能會想我有100個使用者帳號都不同啊,怎麼測試呢?很簡單這邊我們使用csv來做,教學如下:

1.新增CSV資料設定,如圖:


2.設定參數,我們這要注意,檔名要跟測試計畫同個資料夾,名字要英文小寫,變數名稱輸入參數的key名稱,如圖


3.新增CSV的檔案,輸入需要的值,如圖:


4.關鍵點,那要怎麼與參數放在一起啊,首先在原本參數的值的這欄,改成${key名稱},如圖:


5.執行即可.


沒有留言:

張貼留言