本來,其實就我個人而言現在很少去弄性能這一塊的陣地了,主要在做設計與架構,不過前幾天剛剛關注公眾號的羅哥給我拋了關於性能方面的問題。
一個問題立馬引起了我的興趣,太久沒弄性能方面的事情了,所以在隔天有空的時候就立馬動手測試了一下。
當然這個性能是在本機測的,所以還要看本機的配置。以下是我的機子的配置。
你需要准備的是一個自己寫的應用程序與JMeter,可能有一部分人還沒有弄過Jmeter,大家可以去網上找一下,安裝下載包括測試都有很多教程了。
應用程序這里就不說了,SpringBoot或者SSM等其他的都可以。
Jmeter的幾個簡單步驟說一下:
1、創建用戶組
2、設置用戶組參數
線程數是測試的變量,下面的兩個參數,大家可以和我一致,如果自己的機子性能比較差,那就設置低一點。
3、HTTP取樣
最重要的,讓JMeter測試什么,你總要說清楚
4、HTTP取樣參數設置
這個就改為你的應用程序參數
5、HTTP的響應斷言
6、響應斷言設置
做簡單的,直接看返回代碼是不是200
7、查看效果與報告
然后對線程組加監聽器了,這個看你想看到什么結果報告,一般選聚合報告,我們就可以看吞吐量。
開始測試啦!
測試參數我將線程組即用戶數設置為三組:100、200、300
應用程序我用了兩套,一套是同步,一套是Deferred的異步處理,並且都模擬生產在線,每個請求都休眠2s后返回結果。
Github地址如下:https://github.com/UncleCatMySelf/Spring-Tutorial
接着啟動項目再用JMeter去測試就好啦,相對還是比較簡單的。
線程數100的 我就不拿出來了 ,雙方的吞吐量都差不多。
線程數200的,正常情況下
線程數200的,Deferred情況下
線程數300的,正常情況下
線程數300的,Deferred情況下
可以很明顯的看到,在線程數(用戶數)不斷上升的情況下,異步的吞吐量性能更加優越。
好啦,本章就先說到着了。
感謝閱讀。