溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring boot中怎么優化啟動速度

發布時間:2021-08-05 16:17:23 來源:億速云 閱讀:1212 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關spring boot中怎么優化啟動速度,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

步驟如下:

將日志級別設置為debug,啟動后重點關注以下輸出日志內容

=========================
AUTO-CONFIGURATION REPORT
=========================

然后復制 Positive matches 里面所有出現的自動配置對象,刪除啟動類中的SpringBootApplication注解,改為手動配置,如下:

@Configuration
@Import({
xxAutoConfiguration.class,
})
public class App {

以上步驟操作后,是不是覺得沒啥優化空間了,那你就大錯特錯了,接下來我們可以分析下boot中有多少實現xxRunner接口的類,如果發現該類運行比較耗時,這時候我們就可以下手去優化它,具體分析步驟如下:
  1. 通過ApplicationContext#getBean(XxRunner.class),就可以知道當前項目中有多少Runner

  2. 然后監聽每個Runner運行過程需要消耗的時長,當然如果通過第一步獲取到的Runner很少可以忽略以下步驟

  3. 將所有的Runner子類的run方法由原來的同步改為異步,這對程序正常運行基本上不會有影響,如果確實需要同步執行的,可以忽略這些特需類

具體如何實現,此處只提供思路,不提供代碼,哈哈,很簡單利用aop去攔截XxRunner#run方法,然后使用線程池去執行run方法即可

經過以上操作基本上完成大部分優化工作,接下還有沒有優化空間,當然有,具體如下:
  1. 排除項目用多余的依賴jar,具體如何排除可以通過idea中的maven-helper插件去分析jar依賴關系

  2. 如果項目用到swagger,在生產環境打包時去除swagger所有依賴,因為生產環境根本用不上,swagger生成api接口時需要掃描所有的controller,這是很費時的過程

  3. 接下來就是整個性能優化,此處就不做說明,如內置tomcat調優或者直接換成undertow,jvm調優等自行百度

上述就是小編為大家分享的spring boot中怎么優化啟動速度了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女