原本,其實就我我的而言如今不多去弄性能這一塊的陣地了,主要在作設計與架構,不過前幾天剛剛關注公衆號的羅哥給我拋了關於性能方面的問題。git
一個問題立馬引發了個人興趣,過久沒弄性能方面的事情了,因此在隔天有空的時候就立馬動手測試了一下。github
固然這個性能是在本機測的,因此還要看本機的配置。如下是個人機子的配置。架構
你須要準備的是一個本身寫的應用程序與JMeter,可能有一部分人尚未弄過Jmeter,你們能夠去網上找一下,安裝下載包括測試都有不少教程了。異步
應用程序這裏就不說了,SpringBoot或者SSM等其餘的均可以。ide
Jmeter的幾個簡單步驟說一下:性能
一、建立用戶組測試
二、設置用戶組參數線程
線程數是測試的變量,下面的兩個參數,你們能夠和我一致,若是本身的機子性能比較差,那就設置低一點。設計
三、HTTP取樣blog
最重要的,讓JMeter測試什麼,你總要說清楚
四、HTTP取樣參數設置
這個就改成你的應用程序參數
五、HTTP的響應斷言
六、響應斷言設置
作簡單的,直接看返回代碼是否是200
七、查看效果與報告
而後對線程組加監聽器了,這個看你想看到什麼結果報告,通常選聚合報告,咱們就能夠看吞吐量。
開始測試啦!
測試參數我將線程組即用戶數設置爲三組:100、200、300
應用程序我用了兩套,一套是同步,一套是Deferred的異步處理,而且都模擬生產在線,每一個請求都休眠2s後返回結果。
Github地址以下:https://github.com/UncleCatMySelf/Spring-Tutorial
接着啓動項目再用JMeter去測試就好啦,相對仍是比較簡單的。
線程數100的 我就不拿出來了 ,雙方的吞吐量都差很少。
線程數200的,正常狀況下
線程數200的,Deferred狀況下
線程數300的,正常狀況下
線程數300的,Deferred狀況下
能夠很明顯的看到,在線程數(用戶數)不斷上升的狀況下,異步的吞吐量性能更加優越。
好啦,本章就先說到着了。
感謝閱讀。