SpringBoot性能優(yōu)化

一物臂、掃描優(yōu)化

SpringBoot項目中的啟動類饭庞,會使用@SpringBootApplication 注解或渤,該注解的作用掃描外部依賴項目(例如:Tomcat辽聊,SpringMVC具被,Transaction等)以及運行一些自動配置類蛤袒。
@SpringBootApplication注解中包含了@SpringBootConfiguration嘹锁、@EnableAutoConfiguration激涤、@ComponentScan等等衷蜓,通過以下配置



通過debug啟動項目在控制臺中會打印出日志:



通過上面的日志可以看出需要掃描匹配的項=Positive matches: 需要匹配項 + Unconditional classes: 必須匹配項累提,那么掃描優(yōu)化就是將這些需要匹配的項直接通過@import注解直接引入,則節(jié)省出掃描時間磁浇。例:

如果啟動一個大的應用程序或者將做大量的集成測試啟動應用程序的時候斋陪,這種優(yōu)化方式可以減少啟動時間,避免加載其他不必要的資源置吓,減少CPU的消耗无虚。

二、JVM參數調優(yōu)

先了解兩個配置指令
(1)-Xmx:設置最大的java堆大小
(2) -Xms:設置Java堆棧的初始化大小
idea工具中配置jvm內存大小


對當前應用程序的堆內存最大配置為32M衍锚,初始配置為10M(可以根據自己的項目適當縮小友题,有的項目縮小到1M或者更小會無法啟動,本人的機器設置為1M就無法啟動項目)戴质,設置好后度宦,啟動項目,控制臺打印結果如下:

控制臺會頻繁的輸出GC和Full GC告匠,因為配置的堆內存太小的原因戈抄,堆內存配置越大,GC和Full GC會出現的越少后专。在生產項目中划鸽,-Xmx和-Xms這兩個值應該配置相同,并根據運行服務器硬件環(huán)境適當去配置戚哎。頻繁的GC和Full GC是非常消耗CPU的性能的裸诽,JVM優(yōu)化的重要指標就是不能頻繁出現Full GC。

監(jiān)控應用的內存使用型凳,可以使用jdk提供的工具在jdk安裝bin目錄下jvisualvm.exe


三丈冬、根據項目采用合適的容器

現在最流行也最常用的就是tomcat容器,tomcat是默認支持jsp的甘畅,當然也可以去優(yōu)化tomcat殷蛇,關閉tomcat對jsp的支持实夹。如果不優(yōu)化tomcat也可以在項目中更換使用其他容器,例如:Undertow粒梦,該容器默認是不支持jsp。減少一些其他不需要的支持來提升容器啟動和運行效率荸实。

首先在pom.xml中排除使用tomcat容器



加入對Undertow容器的依賴



啟動容器運行結果:

測試性能是否提升可以使用jMeter壓測工具:



在項目中分別使用Tomcat和Undertow容器匀们,然后使用jMeter工具進行壓測,然后對比分別使用兩個容器的并發(fā)處理能力准给。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末泄朴,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子露氮,更是在濱河造成了極大的恐慌祖灰,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畔规,死亡現場離奇詭異局扶,居然都是意外死亡,警方通過查閱死者的電腦和手機叁扫,發(fā)現死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門三妈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人莫绣,你說我怎么就攤上這事畴蒲。” “怎么了对室?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵模燥,是天一觀的道長。 經常有香客問我掩宜,道長蔫骂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任锭亏,我火速辦了婚禮纠吴,結果婚禮上,老公的妹妹穿的比我還像新娘慧瘤。我一直安慰自己戴已,他們只是感情好,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布锅减。 她就那樣靜靜地躺著糖儡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怔匣。 梳的紋絲不亂的頭發(fā)上握联,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天桦沉,我揣著相機與錄音,去河邊找鬼金闽。 笑死纯露,一個胖子當著我的面吹牛,可吹牛的內容都是我干的代芜。 我是一名探鬼主播埠褪,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挤庇!你這毒婦竟也來了钞速?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤嫡秕,失蹤者是張志新(化名)和其女友劉穎渴语,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體昆咽,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡驾凶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了潮改。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狭郑。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汇在,靈堂內的尸體忽然破棺而出翰萨,到底是詐尸還是另有隱情,我是刑警寧澤糕殉,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布亩鬼,位于F島的核電站,受9級特大地震影響阿蝶,放射性物質發(fā)生泄漏雳锋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一羡洁、第九天 我趴在偏房一處隱蔽的房頂上張望玷过。 院中可真熱鬧,春花似錦筑煮、人聲如沸辛蚊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽袋马。三九已至,卻和暖如春秸应,著一層夾襖步出監(jiān)牢的瞬間虑凛,已是汗流浹背碑宴。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留桑谍,地道東北人延柠。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像锣披,于是被迫代替她去往敵國和親捕仔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容