国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

運維讓我優(yōu)化SpringBoot啟動速度,我是這么干的!
2023-06-16    今日頭條

Spring Boot毫無疑問是 Java 后端開發(fā)的第一大框架,基于Spring Boot有著一套完整的工具鏈,各種各樣的starter。對于日常業(yè)務(wù)開發(fā)而言,可以說是輪子很全。

但隨著微服務(wù)和云原生時代的流行,Spring Boot應(yīng)用卻暴露出了一些問題,其中比較突出的有:

  • 啟動慢
  • 應(yīng)用內(nèi)存占用多
  • 云原生應(yīng)用對啟動速度的要求比較高。當(dāng)需要進(jìn)行水平擴(kuò)展時,要求這些新的實例必須在足夠短的時間內(nèi)完成啟動,從而盡快的處理新增的請求。
  • 云原生應(yīng)用要求在運行時占用盡可能少的資源。盡可能的減少單個實例占用的資源,就意味著可以用同樣的成本,支持更多的訪問請求。
  • 云原生應(yīng)用要求更小的打包體積。云原生應(yīng)用以容器鏡像的形式打包。應(yīng)用鏡像的尺寸越大,所需要的存儲空間也會越大,推送和拉取鏡像所耗費的時間也會更長。

其實我們都比較清楚大部分的啟動時間是由于 Spring 需要加載各種 Bean 導(dǎo)致啟動速度下降的

一、延遲初始化Bean

一般在 SpringBoot 中都擁有很多的耗時任務(wù),比如數(shù)據(jù)庫建立連接、初始線程池的創(chuàng)建等等,我們可以延遲這些操作的初始化,來達(dá)到優(yōu)化啟動速度的目的。Spring Boot 2.2 版本后引入
spring.main.lazy-initialization屬性,配置為 true 會將所有 Bean 延遲初始化。

個人本地開啟延遲初始化之后,啟動能快了1~2秒。

環(huán)境

配置

(十次平均值)啟動速度

springboot2+jdk1.8

 

≈10.3s

 

延遲初始化Bean

≈8.63s

二、創(chuàng)建掃描索引

Spring5 之后提供了spring-context-indexer功能,可以通過在編譯時創(chuàng)建一個靜態(tài)候選列表來提高大型應(yīng)用程序的啟動性能。

先看官方的解釋:

在項目中使用了@Indexed之后,編譯打包的時候會在項目中自動生成META-INT/spring.components文件。

當(dāng)Spring應(yīng)用上下文執(zhí)行ComponentScan掃描時,META-INT/spring.components將會被CandidateComponentsIndexLoader 讀取并加載,轉(zhuǎn)換為CandidateComponentsIndex對象,這樣的話@ComponentScan不在掃描指定的package,而是讀取CandidateComponentsIndex對象,從而達(dá)到提升性能的目的.

我們只需要將依賴引入,然后在啟動類上使用@Indexed注解即可。這樣在程序編譯打包之后會生成
META-INT/spring.components文件,當(dāng)執(zhí)行@ComponentScan掃描類時,會讀取索引文件,提高掃描速度。


 

環(huán)境

配置

(十次平均值)啟動速度

springboot2+jdk1.8

 

≈10.3s

 

+延遲初始化Bean

≈8.63s

 

+創(chuàng)建掃描索引

≈7.7s

其他技巧:

1、減少@ComponentScan @SpringBootApplication掃描類時候的范圍

2、關(guān)閉 Spring Boot 的 JMX監(jiān)控,設(shè)置spring.jmx.enabled=false

3、設(shè)置JVM參數(shù) -noverify ,不對類進(jìn)行驗證

4、對非必要啟動時加載的Bean,延遲加載5、使用Spring Boot的全局懶加載一

5、AOPQ切面盡量不使用注解方式,這會導(dǎo)致啟動時掃描全部方法7、關(guān)閉endpoint的一些監(jiān)控功能

6、排除項目多余的依賴jar

7、swagger掃描接口時,指定只掃描某個路徑下的類10、Feign 客戶端接口的掃描縮小包掃描范圍

到這啟動速度應(yīng)該算是優(yōu)化的比較極致了, 但是內(nèi)存占用大依然是問題

三、 升級jdk17

當(dāng)然jdk也在這方面做了很大的努力:

內(nèi)存占用多主要是內(nèi)存占用后不會歸還操作系統(tǒng),這個正在逐步改善:

  • G1 JDK12及之后 已支持
  • ZGC JDK13及之后 已支持

于Java語言的特性及Spring Boot的一些實現(xiàn)方式,決定了即便是開啟了G1/ZGC的未使用內(nèi)存及時歸還操作系統(tǒng),Spring Boot的內(nèi)存占用,仍然遠(yuǎn)大于Golang這種編譯型語言。

所以,Java想要解決云原生時代的問題,目前的方案基本都是基于GraalVM來的,不管是Quarkus(夸克)還是Micronaut都是。

那么,Spring Boot有沒有類似的方案呢?:spring-graalvm-native

四、升級SpringBoot3

spring-graalvm-native是springBoo6/SpringBoot3 非常重大的一個特性,支持使用 GraalVM 將 SpringBoot 的應(yīng)用程序編譯成本地可執(zhí)行的鏡像文件,可以顯著提升啟動速度、峰值性能以及減少內(nèi)存使用。

熱詞搜索:運維

上一篇:流水的運維,鐵打的鍋
下一篇:最后一頁

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
亚洲国产aⅴ成人精品无吗| 亚洲成人综合在线| 亚洲狠狠丁香婷婷综合久久久| 亚洲男同性视频| 色婷婷综合久色| 五月婷婷激情综合| 成人午夜免费电影| 在线日韩国产精品| 美女视频黄久久| 色欧美88888久久久久久影院| 亚洲狼人国产精品| 欧美一区二区视频免费观看| 精品一区二区久久| 亚洲乱码中文字幕| 欧美r级在线观看| 色婷婷久久99综合精品jk白丝| 五月婷婷综合网| 国产精品视频一二三| 欧美精选一区二区| 99久久久久免费精品国产| 日韩av电影一区| 国产精品美女久久久久久久| 在线播放91灌醉迷j高跟美女| 激情亚洲综合在线| 亚洲制服丝袜av| 中文字幕久久午夜不卡| 欧美一区午夜视频在线观看| 91色porny在线视频| 国产精品2024| 蜜桃av一区二区三区| 亚洲激情六月丁香| 中文字幕在线不卡视频| 久久久久久久久岛国免费| 91精品国产全国免费观看| 91久久精品一区二区三区| 亚洲卡通动漫在线| 中文字幕欧美国产| 久久人人超碰精品| 精品日产卡一卡二卡麻豆| 国产亚洲一区二区在线观看| 午夜精品久久久久久久99水蜜桃| 国产欧美日韩一区二区三区在线观看 | 国产亚洲成年网址在线观看| 91麻豆国产自产在线观看| 4438x亚洲最大成人网| 一级精品视频在线观看宜春院| 欧美日韩黄色一区二区| 99视频热这里只有精品免费| 成人h精品动漫一区二区三区| 免费成人美女在线观看| 亚洲国产毛片aaaaa无费看| 综合亚洲深深色噜噜狠狠网站| 精品理论电影在线观看 | 国内精品伊人久久久久av影院 | 韩国精品免费视频| 欧美videofree性高清杂交| 国产精品一区二区视频| 在线观看欧美黄色| 中文在线一区二区| 精品在线一区二区| 亚洲一区二区五区| 欧美精品一区二区久久婷婷| 欧美乱熟臀69xxxxxx| 欧美在线你懂得| 欧美视频你懂的| 欧美日本一区二区在线观看| 在线观看免费成人| 欧美亚洲综合色| 欧美三电影在线| 欧美乱熟臀69xxxxxx| 狠狠色综合播放一区二区| 国产电影一区二区三区| 欧美欧美欧美欧美| 一区二区成人在线视频 | 国产精品免费aⅴ片在线观看| 91精品国产免费| 制服丝袜亚洲色图| 欧美一级二级三级蜜桃| 在线播放欧美女士性生活| 国产经典欧美精品| 久久久国产午夜精品| 韩国精品久久久| 亚洲一区二区视频| 亚洲福中文字幕伊人影院| 亚洲国产精品久久不卡毛片| 五月天一区二区三区| 看国产成人h片视频| 国产精品久久久久影院亚瑟| 国产欧美日韩另类视频免费观看| 日韩一卡二卡三卡四卡| 色噜噜狠狠成人网p站| 欧美日韩激情一区二区| 日韩av在线免费观看不卡| 欧美在线free| 亚洲专区一二三| 日韩av一二三| 一区在线观看免费| 久久女同精品一区二区| 国产精品国产三级国产普通话99| 国产女人18水真多18精品一级做 | 国产美女主播视频一区| 成人精品亚洲人成在线| av中文字幕不卡| 精品国产免费人成在线观看| 精品捆绑美女sm三区| 欧美午夜电影网| 欧美高清激情brazzers| 久久亚洲影视婷婷| 国产精品久久久久精k8| 国产精品日产欧美久久久久| 亚洲精品国久久99热| 中文字幕欧美日本乱码一线二线| 欧洲国内综合视频| 884aa四虎影成人精品一区| 青青青爽久久午夜综合久久午夜| 久久青草国产手机看片福利盒子| 日韩丝袜情趣美女图片| 精品盗摄一区二区三区| 亚洲免费观看高清完整版在线| 亚洲精品国产品国语在线app| 亚洲一级二级三级在线免费观看| 美女尤物国产一区| 91亚洲精品乱码久久久久久蜜桃| 在线国产电影不卡| 久久精品视频一区| 三级成人在线视频| 99免费精品视频| av成人免费在线观看| 日韩欧美电影在线| 亚洲成人免费影院| 99久久国产综合精品色伊| 26uuu精品一区二区三区四区在线| 亚洲欧美日韩国产综合在线| 韩国精品主播一区二区在线观看 | 日韩欧美三级在线| 亚洲黄色小视频| 成人免费看视频| 久久精品视频免费| 狠狠色丁香久久婷婷综合丁香| 美国十次综合导航| 国产精品久久久久影视| 毛片一区二区三区| 亚洲九九爱视频| 在线视频中文字幕一区二区| 国产精品萝li| 91免费视频观看| 国产精品乱码妇女bbbb| 国产老肥熟一区二区三区| 欧美xfplay| 国产精品一区二区无线| 亚洲欧洲精品一区二区三区不卡| 激情综合网av| 2024国产精品视频| 国产肉丝袜一区二区| 韩国欧美国产1区| 国产一区二区精品久久99| 在线观看视频一区| 91免费精品国自产拍在线不卡| 欧美一区二区成人6969| 精品成a人在线观看| 成人丝袜18视频在线观看| 国产精品每日更新| 欧美剧情片在线观看| 三级不卡在线观看| 久久色在线视频| 色网站国产精品| 美女国产一区二区三区| 亚洲国产成人av好男人在线观看| 99re视频精品| 亚洲免费av网站| 精品女同一区二区| 国产激情一区二区三区| 一区二区三区四区中文字幕| 日韩精品一区在线| 日本精品视频一区二区三区| 久久国产精品99精品国产| 久久蜜桃香蕉精品一区二区三区| 欧美福利视频一区| 国产最新精品精品你懂的| 青青草97国产精品免费观看| 午夜精品一区在线观看| 不卡一区在线观看| 日韩精品一区二区三区视频播放 | 日日摸夜夜添夜夜添精品视频| 另类成人小视频在线| 色94色欧美sute亚洲线路二| 亚洲色欲色欲www| 91在线观看成人| 91国产成人在线| 亚洲精品国产第一综合99久久| 国产精品一色哟哟哟| 久久久国产精品麻豆| 成人av动漫网站| 亚洲高清久久久| 久久在线免费观看| 不卡在线视频中文字幕| 亚洲三级在线免费观看| 日韩精品中文字幕一区二区三区 | 久久婷婷成人综合色| 丰满白嫩尤物一区二区|