Udemy Course Multithreading, Concurrency & Performance 12

Optimizing for Throughput Part 2 HTTP Server + Jmeter

ZONGRU Li
Jul 19, 2021

首先引入以下套件來建立簡單的http API

並在resources目錄下撰寫以下文字檔:

接著撰寫http API的完整java code如下:

上述的API為找尋somewords文字檔內含有多少個關鍵字

執行後可以用瀏覽器得到以下結果

為了後面的內容,這邊改引用課程提供的範例:

課程提供的範例與待會要用的搜尋文字
並改變讀的檔案

接著為了驗證Performance另外下載Apache JMeter套件來呼叫這個API

直接執行ApacheJMeter.jar

會看到以下視窗出現

改更測試計畫的名稱:

右鍵->新增->Thread(Users)->setUp Thread Group

調整JMeter的thread數量

新增While Controller(中文叫當...控制器)

用csv來餵食要搜尋的關鍵字
調整參數
參考教學打的條件
建立http請求
帶入條件
做好以上後就儲存
另存名稱
執行

這邊沒儲存到Summary Report & 檢視結果樹,記得再新增回來

過程中數字會一值變化增加

結果樹顯示綠色表示沒有錯誤

可以端看每一筆的請求及回應

請求
回應

其他筆請求:

並且看看Summary可以見到

處理量(throughput)大約是370筆/秒

接著調整thread數量

再次執行得到:

翻背上去的throughput!

接著調為4

用以上方是即可做出曲線圖來了解應該增加多少threads可達到最佳化

參考課程

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet