国产一级一区二区_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久久夜色精品国产_欧美色网一区二区
91久久国产综合久久| 精品久久久久久久久久久久久久久久久| 亚洲成人av一区| 国产精品一区二区三区99| 色婷婷综合久久久久中文一区二区 | 欧美人狂配大交3d怪物一区| 国产日韩欧美电影| 另类调教123区| 欧美日本视频在线| 亚洲国产一区二区在线播放| 9l国产精品久久久久麻豆| 久久久一区二区三区| 久久99精品久久久久久久久久久久| 欧洲精品一区二区三区在线观看| 国产精品萝li| 成人免费va视频| 中文天堂在线一区| 国产aⅴ综合色| 日本一区二区三区免费乱视频 | 91福利精品第一导航| 国产精品黄色在线观看| 一区二区免费在线| 欧美性猛交xxxx黑人交| 亚洲国产成人av| 欧美怡红院视频| 色综合天天综合网国产成人综合天 | 国产女主播一区| 国产精品69久久久久水密桃| 日韩久久久精品| 久久99热国产| 欧美videos大乳护士334| 麻豆精品在线观看| 久久久www免费人成精品| 亚洲国产成人va在线观看天堂| 国产精品影视网| 久久久久久久久久久久久女国产乱| 天堂久久久久va久久久久| 在线播放中文一区| 久久99国产精品久久99果冻传媒| 久久众筹精品私拍模特| 国产一区二区三区免费在线观看 | 久久久99精品免费观看| 成人免费视频国产在线观看| 中文在线资源观看网站视频免费不卡 | 精品福利视频一区二区三区| 天天影视涩香欲综合网| 色婷婷av一区二区| 日韩成人av影视| 久久丝袜美腿综合| 日本精品一区二区三区高清 | 久久精品一级爱片| 国产成人鲁色资源国产91色综 | 久久99国产精品久久| 中文字幕一区二区日韩精品绯色| 欧美在线|欧美| 日本女人一区二区三区| 欧美—级在线免费片| 欧美性猛片aaaaaaa做受| 国产一区二区三区综合| 一片黄亚洲嫩模| 日韩免费成人网| 在线看日韩精品电影| 国产精品中文有码| 日本强好片久久久久久aaa| 国产精品久久久久久久久晋中 | 日韩精品欧美精品| 亚洲天堂2016| 久久九九久久九九| 91精品国产综合久久婷婷香蕉| 成人黄色av电影| 精品在线免费视频| 亚洲va韩国va欧美va| 国产精品私人影院| 欧美精品一区二区在线播放| 欧美美女激情18p| 色婷婷精品久久二区二区蜜臀av| 国内不卡的二区三区中文字幕| 亚洲最大色网站| 自拍偷拍亚洲激情| 久久久精品免费观看| 欧美刺激午夜性久久久久久久| 91蝌蚪国产九色| www.亚洲在线| av成人免费在线观看| 国产一区二区影院| 国产一区二区视频在线播放| 蜜桃视频在线观看一区| 日韩电影一区二区三区四区| 亚洲卡通动漫在线| 亚洲精品欧美激情| ●精品国产综合乱码久久久久| 国产亚洲精品福利| 久久老女人爱爱| 久久看人人爽人人| 久久色中文字幕| 久久婷婷国产综合精品青草| 欧美精品一区二区三| xf在线a精品一区二区视频网站| 日韩免费看的电影| 欧美va天堂va视频va在线| 日韩精品自拍偷拍| 精品久久国产字幕高潮| 久久九九久久九九| 中文子幕无线码一区tr| 亚洲人一二三区| 亚洲国产一区二区在线播放| 午夜精品爽啪视频| 麻豆91精品视频| 国产凹凸在线观看一区二区| 懂色一区二区三区免费观看| 色网站国产精品| 欧美色窝79yyyycom| 91小视频免费看| 91福利精品视频| 欧美中文字幕久久| 欧美一级生活片| 国产亚洲一区二区三区四区| 国产婷婷色一区二区三区在线| 久久精品日产第一区二区三区高清版 | 欧美在线免费播放| 91国模大尺度私拍在线视频| 在线免费观看日韩欧美| 色美美综合视频| 欧美唯美清纯偷拍| 555www色欧美视频| 久久新电视剧免费观看| 亚洲乱码日产精品bd| 久久久精品综合| 亚洲欧美国产77777| 日韩av在线播放中文字幕| 日韩和欧美一区二区| 美女性感视频久久| 久久精品人人做人人爽人人| 亚洲啪啪综合av一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 国产日韩精品一区二区三区在线| 欧美精品一区二区三区蜜臀| 亚洲少妇30p| 午夜精品在线视频一区| 久久se精品一区二区| 成人动漫在线一区| 欧美性欧美巨大黑白大战| 日韩欧美亚洲国产另类| 国产精品久久久久久久久免费樱桃| 天堂精品中文字幕在线| 精品亚洲国产成人av制服丝袜| 国产激情精品久久久第一区二区 | 国产精品成人在线观看| 久久久高清一区二区三区| 亚洲国产精品黑人久久久| 亚洲美腿欧美偷拍| 毛片av一区二区三区| 99久久精品情趣| 欧美高清激情brazzers| 国产精品久久久久婷婷二区次| 亚洲尤物在线视频观看| 国产成人午夜高潮毛片| 欧美另类videos死尸| 国产精品久久久久永久免费观看| 免费的成人av| 亚洲影视资源网| 国产成人免费9x9x人网站视频| 成人激情黄色小说| 777亚洲妇女| 亚洲靠逼com| 99在线热播精品免费| 538在线一区二区精品国产| 玉足女爽爽91| 91亚洲精品一区二区乱码| 日韩精品最新网址| 偷窥少妇高潮呻吟av久久免费| 国产.欧美.日韩| 精品国精品国产| 日本在线不卡视频一二三区| 91美女在线看| 亚洲第四色夜色| 欧美图区在线视频| 国产精品久久夜| 国产在线一区二区| kk眼镜猥琐国模调教系列一区二区| 91小视频免费观看| 中国色在线观看另类| 国产精品一级二级三级| 日韩精品一区二区三区蜜臀| 久久综合综合久久综合| 日韩欧美中文字幕精品| 亚洲va欧美va天堂v国产综合| 色综合久久久久综合| 国产精品成人免费| 一本大道av伊人久久综合| 亚洲精品乱码久久久久久黑人| 91亚洲国产成人精品一区二区三| www激情久久| av高清久久久| 亚洲欧洲三级电影| 欧美日韩午夜在线视频| 依依成人综合视频| 欧美日韩你懂的| 91视频国产资源| 欧美性淫爽ww久久久久无|